home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / comctrls.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  115.5 KB  |  2,965 lines

  1. // Borland C++ Builder
  2. // Copyright (c) 1995, 1998 by Borland International
  3. // All rights reserved
  4.  
  5. // (DO NOT EDIT: machine generated header) 'ComCtrls.pas' rev: 3.00
  6.  
  7. #ifndef ComCtrlsHPP
  8. #define ComCtrlsHPP
  9. #include <ToolWin.hpp>
  10. #include <RichEdit.hpp>
  11. #include <StdCtrls.hpp>
  12. #include <Graphics.hpp>
  13. #include <Menus.hpp>
  14. #include <Forms.hpp>
  15. #include <Controls.hpp>
  16. #include <Classes.hpp>
  17. #include <Commctrl.hpp>
  18. #include <SysUtils.hpp>
  19. #include <Windows.hpp>
  20. #include <Messages.hpp>
  21. #include <SysInit.hpp>
  22. #include <System.hpp>
  23.  
  24. //-- user supplied -----------------------------------------------------------
  25.  
  26. namespace Comctrls
  27. {
  28. //-- type declarations -------------------------------------------------------
  29. typedef void __fastcall (__closure *TTabChangingEvent)(System::TObject* Sender, bool &AllowChange);
  30.  
  31. enum TTabPosition { tpTop, tpBottom };
  32.  
  33. class DELPHICLASS TCustomTabControl;
  34. class PASCALIMPLEMENTATION TCustomTabControl : public Controls::TWinControl 
  35. {
  36.     typedef Controls::TWinControl inherited;
  37.     
  38. private:
  39.     Classes::TStrings* FTabs;
  40.     Classes::TStringList* FSaveTabs;
  41.     int FSaveTabIndex;
  42.     Windows::TSmallPoint FTabSize;
  43.     bool FMultiLine;
  44.     bool FUpdating;
  45.     bool FHotTrack;
  46.     bool FScrollOpposite;
  47.     TTabPosition FTabPosition;
  48.     Classes::TNotifyEvent FOnChange;
  49.     TTabChangingEvent FOnChanging;
  50.     Windows::TRect __fastcall GetDisplayRect(void);
  51.     int __fastcall GetTabIndex(void);
  52.     void __fastcall SetHotTrack(bool Value);
  53.     void __fastcall SetMultiLine(bool Value);
  54.     void __fastcall SetScrollOpposite(bool Value);
  55.     void __fastcall SetTabHeight(short Value);
  56.     void __fastcall SetTabIndex(int Value);
  57.     void __fastcall SetTabPosition(TTabPosition Value);
  58.     void __fastcall SetTabs(Classes::TStrings* Value);
  59.     void __fastcall SetTabWidth(short Value);
  60.     void __fastcall TabsChanged(void);
  61.     void __fastcall UpdateTabSize(void);
  62.     HIDESBASE MESSAGE void __fastcall WMDestroy(Messages::TWMNoParams &Message);
  63.     HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TMessage &Message);
  64.     MESSAGE void __fastcall WMNotifyFormat(Messages::TMessage &Message);
  65.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TMessage &Message);
  66.     HIDESBASE MESSAGE void __fastcall CMFontChanged(void *Message);
  67.     HIDESBASE MESSAGE void __fastcall CMSysColorChange(Messages::TMessage &Message);
  68.     MESSAGE void __fastcall CMTabStopChanged(Messages::TMessage &Message);
  69.     MESSAGE void __fastcall CNNotify(Messages::TWMNotify &Message);
  70.     HIDESBASE MESSAGE void __fastcall CMDialogChar(Messages::TWMKey &Message);
  71.     
  72. protected:
  73.     virtual void __fastcall AlignControls(Controls::TControl* AControl, Windows::TRect &Rect);
  74.     DYNAMIC bool __fastcall CanChange(void);
  75.     virtual bool __fastcall CanShowTab(int TabIndex);
  76.     DYNAMIC void __fastcall Change(void);
  77.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  78.     virtual void __fastcall CreateWnd(void);
  79.     virtual void __fastcall DestroyWnd(void);
  80.     __property Windows::TRect DisplayRect = {read=GetDisplayRect};
  81.     __property bool HotTrack = {read=FHotTrack, write=SetHotTrack, default=0};
  82.     __property bool MultiLine = {read=FMultiLine, write=SetMultiLine, default=0};
  83.     __property bool ScrollOpposite = {read=FScrollOpposite, write=SetScrollOpposite, default=0};
  84.     __property short TabHeight = {read=FTabSize.y, write=SetTabHeight, default=0};
  85.     __property int TabIndex = {read=GetTabIndex, write=SetTabIndex, default=-1};
  86.     __property TTabPosition TabPosition = {read=FTabPosition, write=SetTabPosition, default=0};
  87.     __property Classes::TStrings* Tabs = {read=FTabs, write=SetTabs};
  88.     __property short TabWidth = {read=FTabSize.x, write=SetTabWidth, default=0};
  89.     __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  90.     __property TTabChangingEvent OnChanging = {read=FOnChanging, write=FOnChanging};
  91.     
  92. public:
  93.     __fastcall virtual TCustomTabControl(Classes::TComponent* AOwner);
  94.     __fastcall virtual ~TCustomTabControl(void);
  95.     __property TabStop ;
  96. public:
  97.     /* TWinControl.CreateParented */ __fastcall TCustomTabControl(HWND ParentWindow) : Controls::TWinControl(
  98.         ParentWindow) { }
  99.     
  100. };
  101.  
  102. class DELPHICLASS TTabControl;
  103. class PASCALIMPLEMENTATION TTabControl : public Comctrls::TCustomTabControl 
  104. {
  105.     typedef Comctrls::TCustomTabControl inherited;
  106.     
  107. public:
  108.     __property DisplayRect ;
  109.     
  110. __published:
  111.     __property Align ;
  112.     __property DragCursor ;
  113.     __property DragMode ;
  114.     __property Enabled ;
  115.     __property Font ;
  116.     __property HotTrack ;
  117.     __property MultiLine ;
  118.     __property ParentFont ;
  119.     __property ParentShowHint ;
  120.     __property PopupMenu ;
  121.     __property ScrollOpposite ;
  122.     __property ShowHint ;
  123.     __property TabHeight ;
  124.     __property TabIndex ;
  125.     __property TabOrder ;
  126.     __property TabPosition ;
  127.     __property Tabs ;
  128.     __property TabStop ;
  129.     __property TabWidth ;
  130.     __property Visible ;
  131.     __property OnChange ;
  132.     __property OnChanging ;
  133.     __property OnDragDrop ;
  134.     __property OnDragOver ;
  135.     __property OnEndDrag ;
  136.     __property OnEnter ;
  137.     __property OnExit ;
  138.     __property OnMouseDown ;
  139.     __property OnMouseMove ;
  140.     __property OnMouseUp ;
  141.     __property OnStartDrag ;
  142. public:
  143.     /* TCustomTabControl.Create */ __fastcall virtual TTabControl(Classes::TComponent* AOwner) : Comctrls::
  144.         TCustomTabControl(AOwner) { }
  145.     /* TCustomTabControl.Destroy */ __fastcall virtual ~TTabControl(void) { }
  146.     
  147. public:
  148.     /* TWinControl.CreateParented */ __fastcall TTabControl(HWND ParentWindow) : Comctrls::TCustomTabControl(
  149.         ParentWindow) { }
  150.     
  151. };
  152.  
  153. class DELPHICLASS TTabSheet;
  154. class DELPHICLASS TPageControl;
  155. class PASCALIMPLEMENTATION TPageControl : public Comctrls::TCustomTabControl 
  156. {
  157.     typedef Comctrls::TCustomTabControl inherited;
  158.     
  159. private:
  160.     Classes::TList* FPages;
  161.     TTabSheet* FActivePage;
  162.     void __fastcall ChangeActivePage(TTabSheet* Page);
  163.     void __fastcall DeleteTab(TTabSheet* Page);
  164.     TTabSheet* __fastcall GetPage(int Index);
  165.     int __fastcall GetPageCount(void);
  166.     void __fastcall InsertPage(TTabSheet* Page);
  167.     void __fastcall InsertTab(TTabSheet* Page);
  168.     void __fastcall MoveTab(int CurIndex, int NewIndex);
  169.     void __fastcall RemovePage(TTabSheet* Page);
  170.     void __fastcall SetActivePage(TTabSheet* Page);
  171.     void __fastcall UpdateTab(TTabSheet* Page);
  172.     void __fastcall UpdateActivePage(void);
  173.     HIDESBASE MESSAGE void __fastcall CMDesignHitTest(Messages::TWMMouse &Message);
  174.     HIDESBASE MESSAGE void __fastcall CMDialogKey(Messages::TWMKey &Message);
  175.     
  176. protected:
  177.     virtual bool __fastcall CanShowTab(int TabIndex);
  178.     DYNAMIC void __fastcall Change(void);
  179.     DYNAMIC void __fastcall GetChildren(Classes::TGetChildProc Proc, Classes::TComponent* Root);
  180.     DYNAMIC void __fastcall SetChildOrder(Classes::TComponent* Child, int Order);
  181.     virtual void __fastcall ShowControl(Controls::TControl* AControl);
  182.     
  183. public:
  184.     __fastcall virtual TPageControl(Classes::TComponent* AOwner);
  185.     __fastcall virtual ~TPageControl(void);
  186.     TTabSheet* __fastcall FindNextPage(TTabSheet* CurPage, bool GoForward, bool CheckTabVisible);
  187.     void __fastcall SelectNextPage(bool GoForward);
  188.     __property int PageCount = {read=GetPageCount, nodefault};
  189.     __property TTabSheet* Pages[int Index] = {read=GetPage};
  190.     
  191. __published:
  192.     __property TTabSheet* ActivePage = {read=FActivePage, write=SetActivePage};
  193.     __property Align ;
  194.     __property DragCursor ;
  195.     __property DragMode ;
  196.     __property Enabled ;
  197.     __property Font ;
  198.     __property HotTrack ;
  199.     __property MultiLine ;
  200.     __property ParentFont ;
  201.     __property ParentShowHint ;
  202.     __property PopupMenu ;
  203.     __property ScrollOpposite ;
  204.     __property ShowHint ;
  205.     __property TabHeight ;
  206.     __property TabOrder ;
  207.     __property TabPosition ;
  208.     __property TabStop ;
  209.     __property TabWidth ;
  210.     __property Visible ;
  211.     __property OnChange ;
  212.     __property OnChanging ;
  213.     __property OnDragDrop ;
  214.     __property OnDragOver ;
  215.     __property OnEndDrag ;
  216.     __property OnEnter ;
  217.     __property OnExit ;
  218.     __property OnMouseDown ;
  219.     __property OnMouseMove ;
  220.     __property OnMouseUp ;
  221.     __property OnStartDrag ;
  222. public:
  223.     /* TWinControl.CreateParented */ __fastcall TPageControl(HWND ParentWindow) : Comctrls::TCustomTabControl(
  224.         ParentWindow) { }
  225.     
  226. };
  227.  
  228. class PASCALIMPLEMENTATION TTabSheet : public Controls::TWinControl 
  229. {
  230.     typedef Controls::TWinControl inherited;
  231.     
  232. private:
  233.     TPageControl* FPageControl;
  234.     bool FTabVisible;
  235.     bool FTabShowing;
  236.     Classes::TNotifyEvent FOnHide;
  237.     Classes::TNotifyEvent FOnShow;
  238.     int __fastcall GetPageIndex(void);
  239.     int __fastcall GetTabIndex(void);
  240.     void __fastcall SetPageControl(TPageControl* APageControl);
  241.     void __fastcall SetPageIndex(int Value);
  242.     void __fastcall SetTabShowing(bool Value);
  243.     void __fastcall SetTabVisible(bool Value);
  244.     void __fastcall UpdateTabShowing(void);
  245.     MESSAGE void __fastcall CMTextChanged(Messages::TMessage &Message);
  246.     HIDESBASE MESSAGE void __fastcall CMShowingChanged(Messages::TMessage &Message);
  247.     
  248. protected:
  249.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  250.     DYNAMIC void __fastcall DoHide(void);
  251.     DYNAMIC void __fastcall DoShow(void);
  252.     virtual void __fastcall ReadState(Classes::TReader* Reader);
  253.     
  254. public:
  255.     __fastcall virtual TTabSheet(Classes::TComponent* AOwner);
  256.     __fastcall virtual ~TTabSheet(void);
  257.     __property TPageControl* PageControl = {read=FPageControl, write=SetPageControl};
  258.     __property int TabIndex = {read=GetTabIndex, nodefault};
  259.     
  260. __published:
  261.     __property Caption ;
  262.     __property Enabled ;
  263.     __property Font ;
  264.     __property Height  = {stored=false};
  265.     __property Left  = {stored=false};
  266.     __property int PageIndex = {read=GetPageIndex, write=SetPageIndex, stored=false, nodefault};
  267.     __property ParentFont ;
  268.     __property ParentShowHint ;
  269.     __property PopupMenu ;
  270.     __property ShowHint ;
  271.     __property bool TabVisible = {read=FTabVisible, write=SetTabVisible, default=1};
  272.     __property Top  = {stored=false};
  273.     __property Visible  = {stored=false, default=1};
  274.     __property Width  = {stored=false};
  275.     __property OnDragDrop ;
  276.     __property OnDragOver ;
  277.     __property OnEnter ;
  278.     __property OnExit ;
  279.     __property Classes::TNotifyEvent OnHide = {read=FOnHide, write=FOnHide};
  280.     __property OnMouseDown ;
  281.     __property OnMouseMove ;
  282.     __property OnMouseUp ;
  283.     __property Classes::TNotifyEvent OnShow = {read=FOnShow, write=FOnShow};
  284. public:
  285.     /* TWinControl.CreateParented */ __fastcall TTabSheet(HWND ParentWindow) : Controls::TWinControl(ParentWindow
  286.         ) { }
  287.     
  288. };
  289.  
  290. enum TStatusPanelStyle { psText, psOwnerDraw };
  291.  
  292. enum TStatusPanelBevel { pbNone, pbLowered, pbRaised };
  293.  
  294. class DELPHICLASS TStatusPanel;
  295. class PASCALIMPLEMENTATION TStatusPanel : public Classes::TCollectionItem 
  296. {
  297.     typedef Classes::TCollectionItem inherited;
  298.     
  299. private:
  300.     System::AnsiString FText;
  301.     int FWidth;
  302.     TAlignment FAlignment;
  303.     TStatusPanelBevel FBevel;
  304.     TStatusPanelStyle FStyle;
  305.     virtual System::AnsiString __fastcall GetDisplayName(void);
  306.     void __fastcall SetAlignment(Classes::TAlignment Value);
  307.     void __fastcall SetBevel(TStatusPanelBevel Value);
  308.     void __fastcall SetStyle(TStatusPanelStyle Value);
  309.     void __fastcall SetText(const System::AnsiString Value);
  310.     void __fastcall SetWidth(int Value);
  311.     
  312. public:
  313.     __fastcall virtual TStatusPanel(Classes::TCollection* Collection);
  314.     virtual void __fastcall Assign(Classes::TPersistent* Source);
  315.     
  316. __published:
  317.     __property Classes::TAlignment Alignment = {read=FAlignment, write=SetAlignment, default=0};
  318.     __property TStatusPanelBevel Bevel = {read=FBevel, write=SetBevel, default=1};
  319.     __property TStatusPanelStyle Style = {read=FStyle, write=SetStyle, default=0};
  320.     __property System::AnsiString Text = {read=FText, write=SetText};
  321.     __property int Width = {read=FWidth, write=SetWidth, nodefault};
  322. public:
  323.     /* TCollectionItem.Destroy */ __fastcall virtual ~TStatusPanel(void) { }
  324.     
  325. };
  326.  
  327. class DELPHICLASS TStatusPanels;
  328. class DELPHICLASS TStatusBar;
  329. typedef void __fastcall (__closure *TDrawPanelEvent)(TStatusBar* StatusBar, TStatusPanel* Panel, const 
  330.     Windows::TRect &Rect);
  331.  
  332. class PASCALIMPLEMENTATION TStatusBar : public Controls::TWinControl 
  333. {
  334.     typedef Controls::TWinControl inherited;
  335.     
  336. private:
  337.     TStatusPanels* FPanels;
  338.     Graphics::TCanvas* FCanvas;
  339.     System::AnsiString FSimpleText;
  340.     bool FSimplePanel;
  341.     bool FSizeGrip;
  342.     TDrawPanelEvent FOnDrawPanel;
  343.     Classes::TNotifyEvent FOnResize;
  344.     void __fastcall SetPanels(TStatusPanels* Value);
  345.     void __fastcall SetSimplePanel(bool Value);
  346.     void __fastcall SetSimpleText(const System::AnsiString Value);
  347.     void __fastcall SetSizeGrip(bool Value);
  348.     void __fastcall UpdatePanel(int Index);
  349.     void __fastcall UpdatePanels(void);
  350.     MESSAGE void __fastcall CNDrawItem(Messages::TWMDrawItem &Message);
  351.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  352.     
  353. protected:
  354.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  355.     virtual void __fastcall CreateWnd(void);
  356.     DYNAMIC void __fastcall DrawPanel(TStatusPanel* Panel, const Windows::TRect &Rect);
  357.     DYNAMIC void __fastcall Resize(void);
  358.     
  359. public:
  360.     __fastcall virtual TStatusBar(Classes::TComponent* AOwner);
  361.     __fastcall virtual ~TStatusBar(void);
  362.     __property Graphics::TCanvas* Canvas = {read=FCanvas};
  363.     
  364. __published:
  365.     __property Align ;
  366.     __property DragCursor ;
  367.     __property DragMode ;
  368.     __property Enabled ;
  369.     __property Font ;
  370.     __property TStatusPanels* Panels = {read=FPanels, write=SetPanels};
  371.     __property ParentFont ;
  372.     __property ParentShowHint ;
  373.     __property PopupMenu ;
  374.     __property ShowHint ;
  375.     __property bool SimplePanel = {read=FSimplePanel, write=SetSimplePanel, nodefault};
  376.     __property System::AnsiString SimpleText = {read=FSimpleText, write=SetSimpleText};
  377.     __property bool SizeGrip = {read=FSizeGrip, write=SetSizeGrip, default=1};
  378.     __property Visible ;
  379.     __property OnClick ;
  380.     __property OnDblClick ;
  381.     __property OnDragDrop ;
  382.     __property OnDragOver ;
  383.     __property OnEndDrag ;
  384.     __property OnMouseDown ;
  385.     __property OnMouseMove ;
  386.     __property OnMouseUp ;
  387.     __property TDrawPanelEvent OnDrawPanel = {read=FOnDrawPanel, write=FOnDrawPanel};
  388.     __property Classes::TNotifyEvent OnResize = {read=FOnResize, write=FOnResize};
  389.     __property OnStartDrag ;
  390. public:
  391.     /* TWinControl.CreateParented */ __fastcall TStatusBar(HWND ParentWindow) : Controls::TWinControl(ParentWindow
  392.         ) { }
  393.     
  394. };
  395.  
  396. class PASCALIMPLEMENTATION TStatusPanels : public Classes::TCollection 
  397. {
  398.     typedef Classes::TCollection inherited;
  399.     
  400. private:
  401.     TStatusBar* FStatusBar;
  402.     HIDESBASE TStatusPanel* __fastcall GetItem(int Index);
  403.     HIDESBASE void __fastcall SetItem(int Index, TStatusPanel* Value);
  404.     
  405. protected:
  406.     DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
  407.     virtual void __fastcall Update(Classes::TCollectionItem* Item);
  408.     
  409. public:
  410.     __fastcall TStatusPanels(TStatusBar* StatusBar);
  411.     HIDESBASE TStatusPanel* __fastcall Add(void);
  412.     __property TStatusPanel* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
  413. public:
  414.     /* TCollection.Destroy */ __fastcall virtual ~TStatusPanels(void) { }
  415.     
  416. };
  417.  
  418. enum THeaderSectionStyle { hsText, hsOwnerDraw };
  419.  
  420. class DELPHICLASS THeaderSection;
  421. class PASCALIMPLEMENTATION THeaderSection : public Classes::TCollectionItem 
  422. {
  423.     typedef Classes::TCollectionItem inherited;
  424.     
  425. private:
  426.     System::AnsiString FText;
  427.     int FWidth;
  428.     int FMinWidth;
  429.     int FMaxWidth;
  430.     TAlignment FAlignment;
  431.     THeaderSectionStyle FStyle;
  432.     bool FAllowClick;
  433.     int __fastcall GetLeft(void);
  434.     int __fastcall GetRight(void);
  435.     void __fastcall SetAlignment(Classes::TAlignment Value);
  436.     void __fastcall SetMaxWidth(int Value);
  437.     void __fastcall SetMinWidth(int Value);
  438.     void __fastcall SetStyle(THeaderSectionStyle Value);
  439.     void __fastcall SetText(const System::AnsiString Value);
  440.     void __fastcall SetWidth(int Value);
  441.     
  442. protected:
  443.     virtual System::AnsiString __fastcall GetDisplayName(void);
  444.     
  445. public:
  446.     __fastcall virtual THeaderSection(Classes::TCollection* Collection);
  447.     virtual void __fastcall Assign(Classes::TPersistent* Source);
  448.     __property int Left = {read=GetLeft, nodefault};
  449.     __property int Right = {read=GetRight, nodefault};
  450.     
  451. __published:
  452.     __property Classes::TAlignment Alignment = {read=FAlignment, write=SetAlignment, default=0};
  453.     __property bool AllowClick = {read=FAllowClick, write=FAllowClick, default=1};
  454.     __property int MaxWidth = {read=FMaxWidth, write=SetMaxWidth, default=10000};
  455.     __property int MinWidth = {read=FMinWidth, write=SetMinWidth, default=0};
  456.     __property THeaderSectionStyle Style = {read=FStyle, write=SetStyle, default=0};
  457.     __property System::AnsiString Text = {read=FText, write=SetText};
  458.     __property int Width = {read=FWidth, write=SetWidth, nodefault};
  459. public:
  460.     /* TCollectionItem.Destroy */ __fastcall virtual ~THeaderSection(void) { }
  461.     
  462. };
  463.  
  464. class DELPHICLASS THeaderSections;
  465. class DELPHICLASS THeaderControl;
  466. typedef void __fastcall (__closure *TDrawSectionEvent)(THeaderControl* HeaderControl, THeaderSection* 
  467.     Section, const Windows::TRect &Rect, bool Pressed);
  468.  
  469. typedef void __fastcall (__closure *TSectionNotifyEvent)(THeaderControl* HeaderControl, THeaderSection* 
  470.     Section);
  471.  
  472. enum TSectionTrackState { tsTrackBegin, tsTrackMove, tsTrackEnd };
  473.  
  474. typedef void __fastcall (__closure *TSectionTrackEvent)(THeaderControl* HeaderControl, THeaderSection* 
  475.     Section, int Width, TSectionTrackState State);
  476.  
  477. class PASCALIMPLEMENTATION THeaderControl : public Controls::TWinControl 
  478. {
  479.     typedef Controls::TWinControl inherited;
  480.     
  481. private:
  482.     THeaderSections* FSections;
  483.     Graphics::TCanvas* FCanvas;
  484.     bool FHotTrack;
  485.     TDrawSectionEvent FOnDrawSection;
  486.     Classes::TNotifyEvent FOnResize;
  487.     TSectionNotifyEvent FOnSectionClick;
  488.     TSectionNotifyEvent FOnSectionResize;
  489.     TSectionTrackEvent FOnSectionTrack;
  490.     void __fastcall SetHotTrack(bool Value);
  491.     void __fastcall SetSections(THeaderSections* Value);
  492.     void __fastcall UpdateItem(int Message, int Index);
  493.     void __fastcall UpdateSection(int Index);
  494.     void __fastcall UpdateSections(void);
  495.     MESSAGE void __fastcall CNDrawItem(Messages::TWMDrawItem &Message);
  496.     MESSAGE void __fastcall CNNotify(Messages::TWMNotify &Message);
  497.     HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Message);
  498.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  499.     HIDESBASE MESSAGE void __fastcall WMWindowPosChanged(Messages::TWMWindowPosMsg &Message);
  500.     
  501. protected:
  502.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  503.     virtual void __fastcall CreateWnd(void);
  504.     DYNAMIC void __fastcall DrawSection(THeaderSection* Section, const Windows::TRect &Rect, bool Pressed
  505.         );
  506.     DYNAMIC void __fastcall Resize(void);
  507.     DYNAMIC void __fastcall SectionClick(THeaderSection* Section);
  508.     DYNAMIC void __fastcall SectionResize(THeaderSection* Section);
  509.     DYNAMIC void __fastcall SectionTrack(THeaderSection* Section, int Width, TSectionTrackState State);
  510.         
  511.     
  512. public:
  513.     __fastcall virtual THeaderControl(Classes::TComponent* AOwner);
  514.     __fastcall virtual ~THeaderControl(void);
  515.     __property Graphics::TCanvas* Canvas = {read=FCanvas};
  516.     
  517. __published:
  518.     __property Align ;
  519.     __property DragCursor ;
  520.     __property DragMode ;
  521.     __property Enabled ;
  522.     __property Font ;
  523.     __property bool HotTrack = {read=FHotTrack, write=SetHotTrack, default=0};
  524.     __property THeaderSections* Sections = {read=FSections, write=SetSections};
  525.     __property ShowHint ;
  526.     __property ParentFont ;
  527.     __property ParentShowHint ;
  528.     __property PopupMenu ;
  529.     __property Visible ;
  530.     __property OnDragDrop ;
  531.     __property OnDragOver ;
  532.     __property OnEndDrag ;
  533.     __property OnMouseDown ;
  534.     __property OnMouseMove ;
  535.     __property OnMouseUp ;
  536.     __property TDrawSectionEvent OnDrawSection = {read=FOnDrawSection, write=FOnDrawSection};
  537.     __property Classes::TNotifyEvent OnResize = {read=FOnResize, write=FOnResize};
  538.     __property TSectionNotifyEvent OnSectionClick = {read=FOnSectionClick, write=FOnSectionClick};
  539.     __property TSectionNotifyEvent OnSectionResize = {read=FOnSectionResize, write=FOnSectionResize};
  540.     __property TSectionTrackEvent OnSectionTrack = {read=FOnSectionTrack, write=FOnSectionTrack};
  541.     __property OnStartDrag ;
  542. public:
  543.     /* TWinControl.CreateParented */ __fastcall THeaderControl(HWND ParentWindow) : Controls::TWinControl(
  544.         ParentWindow) { }
  545.     
  546. };
  547.  
  548. class PASCALIMPLEMENTATION THeaderSections : public Classes::TCollection 
  549. {
  550.     typedef Classes::TCollection inherited;
  551.     
  552. private:
  553.     THeaderControl* FHeaderControl;
  554.     HIDESBASE THeaderSection* __fastcall GetItem(int Index);
  555.     HIDESBASE void __fastcall SetItem(int Index, THeaderSection* Value);
  556.     
  557. protected:
  558.     DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
  559.     virtual void __fastcall Update(Classes::TCollectionItem* Item);
  560.     
  561. public:
  562.     __fastcall THeaderSections(THeaderControl* HeaderControl);
  563.     HIDESBASE THeaderSection* __fastcall Add(void);
  564.     __property THeaderSection* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
  565. public:
  566.     /* TCollection.Destroy */ __fastcall virtual ~THeaderSections(void) { }
  567.     
  568. };
  569.  
  570. enum TNodeState { nsCut, nsDropHilited, nsFocused, nsSelected, nsExpanded };
  571.  
  572. enum TNodeAttachMode { naAdd, naAddFirst, naAddChild, naAddChildFirst, naInsert };
  573.  
  574. enum TAddMode { taAddFirst, taAdd, taInsert };
  575.  
  576. struct TNodeInfo;
  577. typedef TNodeInfo *PNodeInfo;
  578.  
  579. #pragma pack(push, 1)
  580. struct TNodeInfo
  581. {
  582.     int ImageIndex;
  583.     int SelectedIndex;
  584.     int StateIndex;
  585.     int OverlayIndex;
  586.     void *Data;
  587.     int Count;
  588.     System::SmallString<255>  Text;
  589. } ;
  590. #pragma pack(pop)
  591.  
  592. class DELPHICLASS TTreeNode;
  593. class DELPHICLASS TTreeNodes;
  594. class DELPHICLASS TCustomTreeView;
  595. enum TSortType { stNone, stData, stText, stBoth };
  596.  
  597. typedef void __fastcall (__closure *TTVEditingEvent)(System::TObject* Sender, TTreeNode* Node, bool 
  598.     &AllowEdit);
  599.  
  600. typedef void __fastcall (__closure *TTVEditedEvent)(System::TObject* Sender, TTreeNode* Node, System::AnsiString 
  601.     &S);
  602.  
  603. typedef void __fastcall (__closure *TTVExpandedEvent)(System::TObject* Sender, TTreeNode* Node);
  604.  
  605. typedef void __fastcall (__closure *TTVExpandingEvent)(System::TObject* Sender, TTreeNode* Node, bool 
  606.     &AllowExpansion);
  607.  
  608. typedef void __fastcall (__closure *TTVCollapsingEvent)(System::TObject* Sender, TTreeNode* Node, bool 
  609.     &AllowCollapse);
  610.  
  611. typedef void __fastcall (__closure *TTVChangingEvent)(System::TObject* Sender, TTreeNode* Node, bool 
  612.     &AllowChange);
  613.  
  614. typedef void __fastcall (__closure *TTVChangedEvent)(System::TObject* Sender, TTreeNode* Node);
  615.  
  616. typedef void __fastcall (__closure *TTVCompareEvent)(System::TObject* Sender, TTreeNode* Node1, TTreeNode* 
  617.     Node2, int Data, int &Compare);
  618.  
  619. enum THitTest { htAbove, htBelow, htNowhere, htOnItem, htOnButton, htOnIcon, htOnIndent, htOnLabel, 
  620.     htOnRight, htOnStateIcon, htToLeft, htToRight };
  621.  
  622. typedef Set<THitTest, htAbove, htToRight>  THitTests;
  623.  
  624. class PASCALIMPLEMENTATION TCustomTreeView : public Controls::TWinControl 
  625. {
  626.     typedef Controls::TWinControl inherited;
  627.     
  628. private:
  629.     bool FShowLines;
  630.     bool FShowRoot;
  631.     bool FShowButtons;
  632.     TFormBorderStyle FBorderStyle;
  633.     bool FReadOnly;
  634.     Controls::TImageList* FImages;
  635.     Controls::TImageList* FStateImages;
  636.     Controls::TChangeLink* FImageChangeLink;
  637.     Controls::TChangeLink* FStateChangeLink;
  638.     Controls::TImageList* FDragImage;
  639.     TTreeNodes* FTreeNodes;
  640.     TSortType FSortType;
  641.     Classes::TStringList* FSaveItems;
  642.     int FSaveTopIndex;
  643.     int FSaveIndex;
  644.     int FSaveIndent;
  645.     bool FHideSelection;
  646.     Classes::TMemoryStream* FMemStream;
  647.     void *FEditInstance;
  648.     void *FDefEditProc;
  649.     HWND FEditHandle;
  650.     bool FDragged;
  651.     TTreeNode* FRClickNode;
  652.     TTreeNode* FLastDropTarget;
  653.     TTreeNode* FDragNode;
  654.     bool FManualNotify;
  655.     bool FRightClickSelect;
  656.     bool FStateChanging;
  657.     System::WideString FWideText;
  658.     TTVEditingEvent FOnEditing;
  659.     TTVEditedEvent FOnEdited;
  660.     TTVExpandedEvent FOnExpanded;
  661.     TTVExpandingEvent FOnExpanding;
  662.     TTVExpandedEvent FOnCollapsed;
  663.     TTVCollapsingEvent FOnCollapsing;
  664.     TTVChangingEvent FOnChanging;
  665.     TTVChangedEvent FOnChange;
  666.     TTVCompareEvent FOnCompare;
  667.     TTVExpandedEvent FOnDeletion;
  668.     TTVExpandedEvent FOnGetImageIndex;
  669.     TTVExpandedEvent FOnGetSelectedIndex;
  670.     HIDESBASE MESSAGE void __fastcall CMColorChanged(Messages::TMessage &Message);
  671.     HIDESBASE MESSAGE void __fastcall CMCtl3DChanged(Messages::TMessage &Message);
  672.     HIDESBASE MESSAGE void __fastcall CMDrag(Controls::TCMDrag &Message);
  673.     MESSAGE void __fastcall CNNotify(Messages::TWMNotify &Message);
  674.     void __fastcall EditWndProc(Messages::TMessage &Message);
  675.     void __fastcall DoDragOver(Controls::TDragObject* Source, int X, int Y, bool CanDrop);
  676.     TTreeNode* __fastcall GetDropTarget(void);
  677.     int __fastcall GetIndent(void);
  678.     TTreeNode* __fastcall GetNodeFromItem(const tagTVITEMA &Item);
  679.     TTreeNode* __fastcall GetSelection(void);
  680.     TTreeNode* __fastcall GetTopItem(void);
  681.     void __fastcall ImageListChange(System::TObject* Sender);
  682.     void __fastcall SetBorderStyle(Forms::TBorderStyle Value);
  683.     void __fastcall SetButtonStyle(bool Value);
  684.     void __fastcall SetDropTarget(TTreeNode* Value);
  685.     void __fastcall SetHideSelection(bool Value);
  686.     void __fastcall SetImageList(int Value, int Flags);
  687.     void __fastcall SetIndent(int Value);
  688.     void __fastcall SetImages(Controls::TImageList* Value);
  689.     void __fastcall SetLineStyle(bool Value);
  690.     void __fastcall SetReadOnly(bool Value);
  691.     void __fastcall SetRootStyle(bool Value);
  692.     void __fastcall SetSelection(TTreeNode* Value);
  693.     void __fastcall SetSortType(TSortType Value);
  694.     void __fastcall SetStateImages(Controls::TImageList* Value);
  695.     void __fastcall SetStyle(int Value, bool UseStyle);
  696.     void __fastcall SetTreeNodes(TTreeNodes* Value);
  697.     void __fastcall SetTopItem(TTreeNode* Value);
  698.     HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Message);
  699.     HIDESBASE MESSAGE void __fastcall WMRButtonDown(Messages::TWMMouse &Message);
  700.     HIDESBASE MESSAGE void __fastcall WMRButtonUp(Messages::TWMMouse &Message);
  701.     HIDESBASE MESSAGE void __fastcall WMNotify(Messages::TWMNotify &Message);
  702.     HIDESBASE MESSAGE void __fastcall CMSysColorChange(Messages::TMessage &Message);
  703.     
  704. protected:
  705.     DYNAMIC bool __fastcall CanEdit(TTreeNode* Node);
  706.     DYNAMIC bool __fastcall CanChange(TTreeNode* Node);
  707.     DYNAMIC bool __fastcall CanCollapse(TTreeNode* Node);
  708.     DYNAMIC bool __fastcall CanExpand(TTreeNode* Node);
  709.     DYNAMIC void __fastcall Change(TTreeNode* Node);
  710.     DYNAMIC void __fastcall Collapse(TTreeNode* Node);
  711.     virtual TTreeNode* __fastcall CreateNode(void);
  712.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  713.     virtual void __fastcall CreateWnd(void);
  714.     DYNAMIC void __fastcall Delete(TTreeNode* Node);
  715.     virtual void __fastcall DestroyWnd(void);
  716.     DYNAMIC void __fastcall DoEndDrag(System::TObject* Target, int X, int Y);
  717.     DYNAMIC void __fastcall DoStartDrag(Controls::TDragObject* &DragObject);
  718.     DYNAMIC void __fastcall Edit(const tagTVITEMA &Item);
  719.     DYNAMIC void __fastcall Expand(TTreeNode* Node);
  720.     virtual Controls::TCustomImageList* __fastcall GetDragImages(void);
  721.     virtual void __fastcall GetImageIndex(TTreeNode* Node);
  722.     virtual void __fastcall GetSelectedIndex(TTreeNode* Node);
  723.     virtual void __fastcall Loaded(void);
  724.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  725.         );
  726.     virtual void __fastcall SetDragMode(Controls::TDragMode Value);
  727.     virtual void __fastcall WndProc(Messages::TMessage &Message);
  728.     __property TTVEditingEvent OnEditing = {read=FOnEditing, write=FOnEditing};
  729.     __property TTVEditedEvent OnEdited = {read=FOnEdited, write=FOnEdited};
  730.     __property TTVExpandingEvent OnExpanding = {read=FOnExpanding, write=FOnExpanding};
  731.     __property TTVExpandedEvent OnExpanded = {read=FOnExpanded, write=FOnExpanded};
  732.     __property TTVCollapsingEvent OnCollapsing = {read=FOnCollapsing, write=FOnCollapsing};
  733.     __property TTVExpandedEvent OnCollapsed = {read=FOnCollapsed, write=FOnCollapsed};
  734.     __property TTVChangingEvent OnChanging = {read=FOnChanging, write=FOnChanging};
  735.     __property TTVChangedEvent OnChange = {read=FOnChange, write=FOnChange};
  736.     __property TTVCompareEvent OnCompare = {read=FOnCompare, write=FOnCompare};
  737.     __property TTVExpandedEvent OnDeletion = {read=FOnDeletion, write=FOnDeletion};
  738.     __property TTVExpandedEvent OnGetImageIndex = {read=FOnGetImageIndex, write=FOnGetImageIndex};
  739.     __property TTVExpandedEvent OnGetSelectedIndex = {read=FOnGetSelectedIndex, write=FOnGetSelectedIndex
  740.         };
  741.     __property bool ShowButtons = {read=FShowButtons, write=SetButtonStyle, default=1};
  742.     __property Forms::TBorderStyle BorderStyle = {read=FBorderStyle, write=SetBorderStyle, default=1};
  743.     __property bool ShowLines = {read=FShowLines, write=SetLineStyle, default=1};
  744.     __property bool ShowRoot = {read=FShowRoot, write=SetRootStyle, default=1};
  745.     __property bool ReadOnly = {read=FReadOnly, write=SetReadOnly, default=0};
  746.     __property bool RightClickSelect = {read=FRightClickSelect, write=FRightClickSelect, default=0};
  747.     __property int Indent = {read=GetIndent, write=SetIndent, nodefault};
  748.     __property TTreeNodes* Items = {read=FTreeNodes, write=SetTreeNodes};
  749.     __property TSortType SortType = {read=FSortType, write=SetSortType, default=0};
  750.     __property bool HideSelection = {read=FHideSelection, write=SetHideSelection, default=1};
  751.     __property Controls::TImageList* Images = {read=FImages, write=SetImages};
  752.     __property Controls::TImageList* StateImages = {read=FStateImages, write=SetStateImages};
  753.     
  754. public:
  755.     __fastcall virtual TCustomTreeView(Classes::TComponent* AOwner);
  756.     __fastcall virtual ~TCustomTreeView(void);
  757.     bool __fastcall AlphaSort(void);
  758.     bool __fastcall CustomSort(PFNTVCOMPARE SortProc, int Data);
  759.     void __fastcall FullCollapse(void);
  760.     void __fastcall FullExpand(void);
  761.     THitTests __fastcall GetHitTestInfoAt(int X, int Y);
  762.     TTreeNode* __fastcall GetNodeAt(int X, int Y);
  763.     bool __fastcall IsEditing(void);
  764.     void __fastcall LoadFromFile(const System::AnsiString FileName);
  765.     void __fastcall LoadFromStream(Classes::TStream* Stream);
  766.     void __fastcall SaveToFile(const System::AnsiString FileName);
  767.     void __fastcall SaveToStream(Classes::TStream* Stream);
  768.     __property TTreeNode* DropTarget = {read=GetDropTarget, write=SetDropTarget};
  769.     __property TTreeNode* Selected = {read=GetSelection, write=SetSelection};
  770.     __property TTreeNode* TopItem = {read=GetTopItem, write=SetTopItem};
  771. public:
  772.     /* TWinControl.CreateParented */ __fastcall TCustomTreeView(HWND ParentWindow) : Controls::TWinControl(
  773.         ParentWindow) { }
  774.     
  775. };
  776.  
  777. struct TNodeCache
  778. {
  779.     TTreeNode* CacheNode;
  780.     int CacheIndex;
  781. } ;
  782.  
  783. class PASCALIMPLEMENTATION TTreeNodes : public Classes::TPersistent 
  784. {
  785.     typedef Classes::TPersistent inherited;
  786.     
  787. private:
  788.     TCustomTreeView* FOwner;
  789.     int FUpdateCount;
  790.     TNodeCache FNodeCache;
  791.     void __fastcall AddedNode(TTreeNode* Value);
  792.     HWND __fastcall GetHandle(void);
  793.     TTreeNode* __fastcall GetNodeFromIndex(int Index);
  794.     void __fastcall ReadData(Classes::TStream* Stream);
  795.     void __fastcall Repaint(TTreeNode* Node);
  796.     void __fastcall WriteData(Classes::TStream* Stream);
  797.     void __fastcall ClearCache(void);
  798.     
  799. protected:
  800.     HTREEITEM __fastcall AddItem(HTREEITEM Parent, HTREEITEM Target, const tagTVITEMA &Item, TAddMode AddMode
  801.         );
  802.     TTreeNode* __fastcall InternalAddObject(TTreeNode* Node, const System::AnsiString S, void * Ptr, TAddMode 
  803.         AddMode);
  804.     virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
  805.     tagTVITEMA __fastcall CreateItem(TTreeNode* Node);
  806.     int __fastcall GetCount(void);
  807.     void __fastcall SetItem(int Index, TTreeNode* Value);
  808.     void __fastcall SetUpdateState(bool Updating);
  809.     
  810. public:
  811.     __fastcall TTreeNodes(TCustomTreeView* AOwner);
  812.     __fastcall virtual ~TTreeNodes(void);
  813.     TTreeNode* __fastcall AddChildFirst(TTreeNode* Node, const System::AnsiString S);
  814.     TTreeNode* __fastcall AddChild(TTreeNode* Node, const System::AnsiString S);
  815.     TTreeNode* __fastcall AddChildObjectFirst(TTreeNode* Node, const System::AnsiString S, void * Ptr);
  816.         
  817.     TTreeNode* __fastcall AddChildObject(TTreeNode* Node, const System::AnsiString S, void * Ptr);
  818.     TTreeNode* __fastcall AddFirst(TTreeNode* Node, const System::AnsiString S);
  819.     TTreeNode* __fastcall Add(TTreeNode* Node, const System::AnsiString S);
  820.     TTreeNode* __fastcall AddObjectFirst(TTreeNode* Node, const System::AnsiString S, void * Ptr);
  821.     TTreeNode* __fastcall AddObject(TTreeNode* Node, const System::AnsiString S, void * Ptr);
  822.     virtual void __fastcall Assign(Classes::TPersistent* Source);
  823.     void __fastcall BeginUpdate(void);
  824.     void __fastcall Clear(void);
  825.     void __fastcall Delete(TTreeNode* Node);
  826.     void __fastcall EndUpdate(void);
  827.     TTreeNode* __fastcall GetFirstNode(void);
  828.     TTreeNode* __fastcall GetNode(HTREEITEM ItemId);
  829.     TTreeNode* __fastcall Insert(TTreeNode* Node, const System::AnsiString S);
  830.     TTreeNode* __fastcall InsertObject(TTreeNode* Node, const System::AnsiString S, void * Ptr);
  831.     __property int Count = {read=GetCount, nodefault};
  832.     __property HWND Handle = {read=GetHandle, nodefault};
  833.     __property TTreeNode* Item[int Index] = {read=GetNodeFromIndex/*, default*/};
  834.     __property TCustomTreeView* Owner = {read=FOwner};
  835. };
  836.  
  837. class PASCALIMPLEMENTATION TTreeNode : public Classes::TPersistent 
  838. {
  839.     typedef Classes::TPersistent inherited;
  840.     
  841. private:
  842.     TTreeNodes* FOwner;
  843.     System::AnsiString FText;
  844.     void *FData;
  845.     _TREEITEM *FItemId;
  846.     int FImageIndex;
  847.     int FSelectedIndex;
  848.     int FOverlayIndex;
  849.     int FStateIndex;
  850.     bool FDeleting;
  851.     bool FInTree;
  852.     bool __fastcall CompareCount(int CompareMe);
  853.     bool __fastcall DoCanExpand(bool Expand);
  854.     void __fastcall DoExpand(bool Expand);
  855.     void __fastcall ExpandItem(bool Expand, bool Recurse);
  856.     int __fastcall GetAbsoluteIndex(void);
  857.     bool __fastcall GetExpanded(void);
  858.     int __fastcall GetLevel(void);
  859.     TTreeNode* __fastcall GetParent(void);
  860.     bool __fastcall GetChildren(void);
  861.     bool __fastcall GetCut(void);
  862.     bool __fastcall GetDropTarget(void);
  863.     bool __fastcall GetFocused(void);
  864.     int __fastcall GetIndex(void);
  865.     TTreeNode* __fastcall GetItem(int Index);
  866.     bool __fastcall GetSelected(void);
  867.     bool __fastcall GetState(TNodeState NodeState);
  868.     int __fastcall GetCount(void);
  869.     TCustomTreeView* __fastcall GetTreeView(void);
  870.     void __fastcall InternalMove(TTreeNode* ParentNode, TTreeNode* Node, HTREEITEM HItem, TAddMode AddMode
  871.         );
  872.     bool __fastcall IsEqual(TTreeNode* Node);
  873.     bool __fastcall IsNodeVisible(void);
  874.     void __fastcall ReadData(Classes::TStream* Stream, PNodeInfo Info);
  875.     void __fastcall SetChildren(bool Value);
  876.     void __fastcall SetCut(bool Value);
  877.     void __fastcall SetData(void * Value);
  878.     void __fastcall SetDropTarget(bool Value);
  879.     void __fastcall SetItem(int Index, TTreeNode* Value);
  880.     void __fastcall SetExpanded(bool Value);
  881.     void __fastcall SetFocused(bool Value);
  882.     void __fastcall SetImageIndex(int Value);
  883.     void __fastcall SetOverlayIndex(int Value);
  884.     void __fastcall SetSelectedIndex(int Value);
  885.     void __fastcall SetSelected(bool Value);
  886.     void __fastcall SetStateIndex(int Value);
  887.     void __fastcall SetText(const System::AnsiString S);
  888.     void __fastcall WriteData(Classes::TStream* Stream, PNodeInfo Info);
  889.     
  890. public:
  891.     __fastcall TTreeNode(TTreeNodes* AOwner);
  892.     __fastcall virtual ~TTreeNode(void);
  893.     bool __fastcall AlphaSort(void);
  894.     virtual void __fastcall Assign(Classes::TPersistent* Source);
  895.     void __fastcall Collapse(bool Recurse);
  896.     bool __fastcall CustomSort(PFNTVCOMPARE SortProc, int Data);
  897.     void __fastcall Delete(void);
  898.     void __fastcall DeleteChildren(void);
  899.     Windows::TRect __fastcall DisplayRect(bool TextOnly);
  900.     bool __fastcall EditText(void);
  901.     void __fastcall EndEdit(bool Cancel);
  902.     void __fastcall Expand(bool Recurse);
  903.     TTreeNode* __fastcall getFirstChild(void);
  904.     HWND __fastcall GetHandle(void);
  905.     TTreeNode* __fastcall GetLastChild(void);
  906.     TTreeNode* __fastcall GetNext(void);
  907.     TTreeNode* __fastcall GetNextChild(TTreeNode* Value);
  908.     TTreeNode* __fastcall getNextSibling(void);
  909.     TTreeNode* __fastcall GetNextVisible(void);
  910.     TTreeNode* __fastcall GetPrev(void);
  911.     TTreeNode* __fastcall GetPrevChild(TTreeNode* Value);
  912.     TTreeNode* __fastcall getPrevSibling(void);
  913.     TTreeNode* __fastcall GetPrevVisible(void);
  914.     bool __fastcall HasAsParent(TTreeNode* Value);
  915.     int __fastcall IndexOf(TTreeNode* Value);
  916.     void __fastcall MakeVisible(void);
  917.     virtual void __fastcall MoveTo(TTreeNode* Destination, TNodeAttachMode Mode);
  918.     __property int AbsoluteIndex = {read=GetAbsoluteIndex, nodefault};
  919.     __property int Count = {read=GetCount, nodefault};
  920.     __property bool Cut = {read=GetCut, write=SetCut, nodefault};
  921.     __property void * Data = {read=FData, write=SetData};
  922.     __property bool Deleting = {read=FDeleting, nodefault};
  923.     __property bool Focused = {read=GetFocused, write=SetFocused, nodefault};
  924.     __property bool DropTarget = {read=GetDropTarget, write=SetDropTarget, nodefault};
  925.     __property bool Selected = {read=GetSelected, write=SetSelected, nodefault};
  926.     __property bool Expanded = {read=GetExpanded, write=SetExpanded, nodefault};
  927.     __property HWND Handle = {read=GetHandle, nodefault};
  928.     __property bool HasChildren = {read=GetChildren, write=SetChildren, nodefault};
  929.     __property int ImageIndex = {read=FImageIndex, write=SetImageIndex, nodefault};
  930.     __property int Index = {read=GetIndex, nodefault};
  931.     __property bool IsVisible = {read=IsNodeVisible, nodefault};
  932.     __property TTreeNode* Item[int Index] = {read=GetItem, write=SetItem/*, default*/};
  933.     __property HTREEITEM ItemId = {read=FItemId};
  934.     __property int Level = {read=GetLevel, nodefault};
  935.     __property int OverlayIndex = {read=FOverlayIndex, write=SetOverlayIndex, nodefault};
  936.     __property TTreeNodes* Owner = {read=FOwner};
  937.     __property TTreeNode* Parent = {read=GetParent};
  938.     __property int SelectedIndex = {read=FSelectedIndex, write=SetSelectedIndex, nodefault};
  939.     __property int StateIndex = {read=FStateIndex, write=SetStateIndex, nodefault};
  940.     __property System::AnsiString Text = {read=FText, write=SetText};
  941.     __property TCustomTreeView* TreeView = {read=GetTreeView};
  942. };
  943.  
  944. typedef TNodeCache *PNodeCache;
  945.  
  946. class DELPHICLASS ETreeViewError;
  947. class PASCALIMPLEMENTATION ETreeViewError : public Sysutils::Exception 
  948. {
  949.     typedef Sysutils::Exception inherited;
  950.     
  951. public:
  952.     /* Exception.Create */ __fastcall ETreeViewError(const System::AnsiString Msg) : Sysutils::Exception(
  953.         Msg) { }
  954.     /* Exception.CreateFmt */ __fastcall ETreeViewError(const System::AnsiString Msg, const System::TVarRec 
  955.         * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
  956.     /* Exception.CreateRes */ __fastcall ETreeViewError(int Ident, Extended Dummy) : Sysutils::Exception(
  957.         Ident, Dummy) { }
  958.     /* Exception.CreateResFmt */ __fastcall ETreeViewError(int Ident, const System::TVarRec * Args, const 
  959.         int Args_Size) : Sysutils::Exception(Ident, Args, Args_Size) { }
  960.     /* Exception.CreateHelp */ __fastcall ETreeViewError(const System::AnsiString Msg, int AHelpContext
  961.         ) : Sysutils::Exception(Msg, AHelpContext) { }
  962.     /* Exception.CreateFmtHelp */ __fastcall ETreeViewError(const System::AnsiString Msg, const System::TVarRec 
  963.         * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext
  964.         ) { }
  965.     /* Exception.CreateResHelp */ __fastcall ETreeViewError(int Ident, int AHelpContext) : Sysutils::Exception(
  966.         Ident, AHelpContext) { }
  967.     /* Exception.CreateResFmtHelp */ __fastcall ETreeViewError(int Ident, const System::TVarRec * Args, 
  968.         const int Args_Size, int AHelpContext) : Sysutils::Exception(Ident, Args, Args_Size, AHelpContext)
  969.          { }
  970.     
  971. public:
  972.     /* TObject.Destroy */ __fastcall virtual ~ETreeViewError(void) { }
  973.     
  974. };
  975.  
  976. class DELPHICLASS TTreeView;
  977. class PASCALIMPLEMENTATION TTreeView : public Comctrls::TCustomTreeView 
  978. {
  979.     typedef Comctrls::TCustomTreeView inherited;
  980.     
  981. __published:
  982.     __property ShowButtons ;
  983.     __property BorderStyle ;
  984.     __property DragCursor ;
  985.     __property ShowLines ;
  986.     __property ShowRoot ;
  987.     __property ReadOnly ;
  988.     __property RightClickSelect ;
  989.     __property DragMode ;
  990.     __property HideSelection ;
  991.     __property Indent ;
  992.     __property Items ;
  993.     __property OnEditing ;
  994.     __property OnEdited ;
  995.     __property OnExpanding ;
  996.     __property OnExpanded ;
  997.     __property OnCollapsing ;
  998.     __property OnCompare ;
  999.     __property OnCollapsed ;
  1000.     __property OnChanging ;
  1001.     __property OnChange ;
  1002.     __property OnDeletion ;
  1003.     __property OnGetImageIndex ;
  1004.     __property OnGetSelectedIndex ;
  1005.     __property Align ;
  1006.     __property Enabled ;
  1007.     __property Font ;
  1008.     __property Color ;
  1009.     __property ParentColor ;
  1010.     __property ParentCtl3D ;
  1011.     __property Ctl3D ;
  1012.     __property SortType ;
  1013.     __property TabOrder ;
  1014.     __property TabStop ;
  1015.     __property Visible ;
  1016.     __property OnClick ;
  1017.     __property OnEnter ;
  1018.     __property OnExit ;
  1019.     __property OnDragDrop ;
  1020.     __property OnDragOver ;
  1021.     __property OnStartDrag ;
  1022.     __property OnEndDrag ;
  1023.     __property OnMouseDown ;
  1024.     __property OnMouseMove ;
  1025.     __property OnMouseUp ;
  1026.     __property OnDblClick ;
  1027.     __property OnKeyDown ;
  1028.     __property OnKeyPress ;
  1029.     __property OnKeyUp ;
  1030.     __property PopupMenu ;
  1031.     __property ParentFont ;
  1032.     __property ParentShowHint ;
  1033.     __property ShowHint ;
  1034.     __property Images ;
  1035.     __property StateImages ;
  1036. public:
  1037.     /* TCustomTreeView.Create */ __fastcall virtual TTreeView(Classes::TComponent* AOwner) : Comctrls::
  1038.         TCustomTreeView(AOwner) { }
  1039.     /* TCustomTreeView.Destroy */ __fastcall virtual ~TTreeView(void) { }
  1040.     
  1041. public:
  1042.     /* TWinControl.CreateParented */ __fastcall TTreeView(HWND ParentWindow) : Comctrls::TCustomTreeView(
  1043.         ParentWindow) { }
  1044.     
  1045. };
  1046.  
  1047. enum TTrackBarOrientation { trHorizontal, trVertical };
  1048.  
  1049. enum TTickMark { tmBottomRight, tmTopLeft, tmBoth };
  1050.  
  1051. enum TTickStyle { tsNone, tsAuto, tsManual };
  1052.  
  1053. class DELPHICLASS TTrackBar;
  1054. class PASCALIMPLEMENTATION TTrackBar : public Controls::TWinControl 
  1055. {
  1056.     typedef Controls::TWinControl inherited;
  1057.     
  1058. private:
  1059.     TTrackBarOrientation FOrientation;
  1060.     TTickMark FTickMarks;
  1061.     TTickStyle FTickStyle;
  1062.     int FLineSize;
  1063.     int FPageSize;
  1064.     int FMin;
  1065.     int FMax;
  1066.     int FFrequency;
  1067.     int FPosition;
  1068.     int FSelStart;
  1069.     int FSelEnd;
  1070.     Classes::TNotifyEvent FOnChange;
  1071.     void __fastcall SetOrientation(TTrackBarOrientation Value);
  1072.     void __fastcall SetParams(int APosition, int AMin, int AMax);
  1073.     void __fastcall SetPosition(int Value);
  1074.     void __fastcall SetMin(int Value);
  1075.     void __fastcall SetMax(int Value);
  1076.     void __fastcall SetFrequency(int Value);
  1077.     void __fastcall SetTickStyle(TTickStyle Value);
  1078.     void __fastcall SetTickMarks(TTickMark Value);
  1079.     void __fastcall SetLineSize(int Value);
  1080.     void __fastcall SetPageSize(int Value);
  1081.     void __fastcall SetSelStart(int Value);
  1082.     void __fastcall SetSelEnd(int Value);
  1083.     void __fastcall UpdateSelection(void);
  1084.     MESSAGE void __fastcall CNHScroll(Messages::TWMScroll &Message);
  1085.     MESSAGE void __fastcall CNVScroll(Messages::TWMScroll &Message);
  1086.     
  1087. protected:
  1088.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1089.     virtual void __fastcall CreateWnd(void);
  1090.     virtual void __fastcall DestroyWnd(void);
  1091.     
  1092. public:
  1093.     __fastcall virtual TTrackBar(Classes::TComponent* AOwner);
  1094.     void __fastcall SetTick(int Value);
  1095.     
  1096. __published:
  1097.     __property Ctl3D ;
  1098.     __property DragCursor ;
  1099.     __property DragMode ;
  1100.     __property Enabled ;
  1101.     __property int LineSize = {read=FLineSize, write=SetLineSize, default=1};
  1102.     __property int Max = {read=FMax, write=SetMax, default=10};
  1103.     __property int Min = {read=FMin, write=SetMin, default=0};
  1104.     __property TTrackBarOrientation Orientation = {read=FOrientation, write=SetOrientation, nodefault};
  1105.         
  1106.     __property ParentCtl3D ;
  1107.     __property ParentShowHint ;
  1108.     __property int PageSize = {read=FPageSize, write=SetPageSize, default=2};
  1109.     __property PopupMenu ;
  1110.     __property int Frequency = {read=FFrequency, write=SetFrequency, nodefault};
  1111.     __property int Position = {read=FPosition, write=SetPosition, nodefault};
  1112.     __property int SelEnd = {read=FSelEnd, write=SetSelEnd, nodefault};
  1113.     __property int SelStart = {read=FSelStart, write=SetSelStart, nodefault};
  1114.     __property ShowHint ;
  1115.     __property TabOrder ;
  1116.     __property TabStop ;
  1117.     __property TTickMark TickMarks = {read=FTickMarks, write=SetTickMarks, nodefault};
  1118.     __property TTickStyle TickStyle = {read=FTickStyle, write=SetTickStyle, nodefault};
  1119.     __property Visible ;
  1120.     __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  1121.     __property OnDragDrop ;
  1122.     __property OnDragOver ;
  1123.     __property OnEndDrag ;
  1124.     __property OnEnter ;
  1125.     __property OnExit ;
  1126.     __property OnKeyDown ;
  1127.     __property OnKeyPress ;
  1128.     __property OnKeyUp ;
  1129.     __property OnStartDrag ;
  1130. public:
  1131.     /* TWinControl.CreateParented */ __fastcall TTrackBar(HWND ParentWindow) : Controls::TWinControl(ParentWindow
  1132.         ) { }
  1133.     /* TWinControl.Destroy */ __fastcall virtual ~TTrackBar(void) { }
  1134.     
  1135. };
  1136.  
  1137. typedef int TProgressRange;
  1138.  
  1139. class DELPHICLASS TProgressBar;
  1140. class PASCALIMPLEMENTATION TProgressBar : public Controls::TWinControl 
  1141. {
  1142.     typedef Controls::TWinControl inherited;
  1143.     
  1144. private:
  1145.     int FMin;
  1146.     int FMax;
  1147.     int FStep;
  1148.     int FPosition;
  1149.     bool F32BitMode;
  1150.     int __fastcall GetMin(void);
  1151.     int __fastcall GetMax(void);
  1152.     int __fastcall GetPosition(void);
  1153.     void __fastcall SetParams(int AMin, int AMax);
  1154.     void __fastcall SetMin(int Value);
  1155.     void __fastcall SetMax(int Value);
  1156.     void __fastcall SetPosition(int Value);
  1157.     void __fastcall SetStep(int Value);
  1158.     
  1159. protected:
  1160.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1161.     virtual void __fastcall CreateWnd(void);
  1162.     
  1163. public:
  1164.     __fastcall virtual TProgressBar(Classes::TComponent* AOwner);
  1165.     void __fastcall StepIt(void);
  1166.     void __fastcall StepBy(int Delta);
  1167.     
  1168. __published:
  1169.     __property Align ;
  1170.     __property DragCursor ;
  1171.     __property DragMode ;
  1172.     __property Enabled ;
  1173.     __property Hint ;
  1174.     __property int Min = {read=GetMin, write=SetMin, nodefault};
  1175.     __property int Max = {read=GetMax, write=SetMax, nodefault};
  1176.     __property ParentShowHint ;
  1177.     __property PopupMenu ;
  1178.     __property int Position = {read=GetPosition, write=SetPosition, default=0};
  1179.     __property int Step = {read=FStep, write=SetStep, default=10};
  1180.     __property ShowHint ;
  1181.     __property TabOrder ;
  1182.     __property TabStop ;
  1183.     __property Visible ;
  1184.     __property OnDragDrop ;
  1185.     __property OnDragOver ;
  1186.     __property OnEndDrag ;
  1187.     __property OnEnter ;
  1188.     __property OnExit ;
  1189.     __property OnMouseDown ;
  1190.     __property OnMouseMove ;
  1191.     __property OnMouseUp ;
  1192.     __property OnStartDrag ;
  1193. public:
  1194.     /* TWinControl.CreateParented */ __fastcall TProgressBar(HWND ParentWindow) : Controls::TWinControl(
  1195.         ParentWindow) { }
  1196.     /* TWinControl.Destroy */ __fastcall virtual ~TProgressBar(void) { }
  1197.     
  1198. };
  1199.  
  1200. enum TAttributeType { atSelected, atDefaultText };
  1201.  
  1202. enum TConsistentAttribute { caBold, caColor, caFace, caItalic, caSize, caStrikeOut, caUnderline, caProtected 
  1203.     };
  1204.  
  1205. typedef Set<TConsistentAttribute, caBold, caProtected>  TConsistentAttributes;
  1206.  
  1207. class DELPHICLASS TTextAttributes;
  1208. class DELPHICLASS TCustomRichEdit;
  1209. class DELPHICLASS TParaAttributes;
  1210. enum TNumberingStyle { nsNone, nsBullet };
  1211.  
  1212. class PASCALIMPLEMENTATION TParaAttributes : public Classes::TPersistent 
  1213. {
  1214.     typedef Classes::TPersistent inherited;
  1215.     
  1216. private:
  1217.     TCustomRichEdit* RichEdit;
  1218.     void __fastcall GetAttributes(_paraformat &Paragraph);
  1219.     Classes::TAlignment __fastcall GetAlignment(void);
  1220.     int __fastcall GetFirstIndent(void);
  1221.     int __fastcall GetLeftIndent(void);
  1222.     int __fastcall GetRightIndent(void);
  1223.     TNumberingStyle __fastcall GetNumbering(void);
  1224.     int __fastcall GetTab(Byte Index);
  1225.     int __fastcall GetTabCount(void);
  1226.     void __fastcall InitPara(_paraformat &Paragraph);
  1227.     void __fastcall SetAlignment(Classes::TAlignment Value);
  1228.     void __fastcall SetAttributes(_paraformat &Paragraph);
  1229.     void __fastcall SetFirstIndent(int Value);
  1230.     void __fastcall SetLeftIndent(int Value);
  1231.     void __fastcall SetRightIndent(int Value);
  1232.     void __fastcall SetNumbering(TNumberingStyle Value);
  1233.     void __fastcall SetTab(Byte Index, int Value);
  1234.     void __fastcall SetTabCount(int Value);
  1235.     
  1236. public:
  1237.     __fastcall TParaAttributes(TCustomRichEdit* AOwner);
  1238.     virtual void __fastcall Assign(Classes::TPersistent* Source);
  1239.     __property Classes::TAlignment Alignment = {read=GetAlignment, write=SetAlignment, nodefault};
  1240.     __property int FirstIndent = {read=GetFirstIndent, write=SetFirstIndent, nodefault};
  1241.     __property int LeftIndent = {read=GetLeftIndent, write=SetLeftIndent, nodefault};
  1242.     __property TNumberingStyle Numbering = {read=GetNumbering, write=SetNumbering, nodefault};
  1243.     __property int RightIndent = {read=GetRightIndent, write=SetRightIndent, nodefault};
  1244.     __property int Tab[Byte Index] = {read=GetTab, write=SetTab};
  1245.     __property int TabCount = {read=GetTabCount, write=SetTabCount, nodefault};
  1246. public:
  1247.     /* TPersistent.Destroy */ __fastcall virtual ~TParaAttributes(void) { }
  1248.     
  1249. };
  1250.  
  1251. typedef System::TMetaClass*TConversionClass;
  1252.  
  1253. typedef void __fastcall (__closure *TRichEditResizeEvent)(System::TObject* Sender, const Windows::TRect 
  1254.     &Rect);
  1255.  
  1256. typedef void __fastcall (__closure *TRichEditProtectChange)(System::TObject* Sender, int StartPos, int 
  1257.     EndPos, bool &AllowChange);
  1258.  
  1259. typedef void __fastcall (__closure *TRichEditSaveClipboard)(System::TObject* Sender, int NumObjects, 
  1260.     int NumChars, bool &SaveClipboard);
  1261.  
  1262. enum TSearchType { stWholeWord, stMatchCase };
  1263.  
  1264. typedef Set<TSearchType, stWholeWord, stMatchCase>  TSearchTypes;
  1265.  
  1266. class PASCALIMPLEMENTATION TCustomRichEdit : public Stdctrls::TCustomMemo 
  1267. {
  1268.     typedef Stdctrls::TCustomMemo inherited;
  1269.     
  1270. private:
  1271.     int FLibHandle;
  1272.     bool FHideScrollBars;
  1273.     TTextAttributes* FSelAttributes;
  1274.     TTextAttributes* FDefAttributes;
  1275.     TParaAttributes* FParagraph;
  1276.     int FScreenLogPixels;
  1277.     Classes::TStrings* FRichEditStrings;
  1278.     Classes::TMemoryStream* FMemStream;
  1279.     Classes::TNotifyEvent FOnSelChange;
  1280.     bool FHideSelection;
  1281.     bool FModified;
  1282.     System::TMetaClass*FDefaultConverter;
  1283.     TRichEditResizeEvent FOnResizeRequest;
  1284.     TRichEditProtectChange FOnProtectChange;
  1285.     TRichEditSaveClipboard FOnSaveClipboard;
  1286.     Windows::TRect FPageRect;
  1287.     HIDESBASE MESSAGE void __fastcall CMColorChanged(Messages::TMessage &Message);
  1288.     HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  1289.     MESSAGE void __fastcall CNNotify(Messages::TWMNotify &Message);
  1290.     bool __fastcall GetPlainText(void);
  1291.     bool __fastcall ProtectChange(int StartPos, int EndPos);
  1292.     bool __fastcall SaveClipboard(int NumObj, int NumChars);
  1293.     void __fastcall SetHideScrollBars(bool Value);
  1294.     HIDESBASE void __fastcall SetHideSelection(bool Value);
  1295.     void __fastcall SetPlainText(bool Value);
  1296.     void __fastcall SetRichEditStrings(Classes::TStrings* Value);
  1297.     void __fastcall SetDefAttributes(TTextAttributes* Value);
  1298.     void __fastcall SetSelAttributes(TTextAttributes* Value);
  1299.     HIDESBASE MESSAGE void __fastcall WMNCDestroy(Messages::TWMNoParams &Message);
  1300.     HIDESBASE MESSAGE void __fastcall WMSetCursor(Messages::TWMSetCursor &Message);
  1301.     HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
  1302.     HIDESBASE MESSAGE void __fastcall WMSetFont(Messages::TWMSetFont &Message);
  1303.     
  1304. protected:
  1305.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1306.     virtual void __fastcall CreateWnd(void);
  1307.     virtual void __fastcall DestroyWnd(void);
  1308.     virtual void __fastcall RequestSize(const Windows::TRect &Rect);
  1309.     DYNAMIC void __fastcall SelectionChange(void);
  1310.     virtual void __fastcall DoSetMaxLength(int Value);
  1311.     virtual int __fastcall GetSelLength(void);
  1312.     virtual int __fastcall GetSelStart(void);
  1313.     virtual System::AnsiString __fastcall GetSelText(void);
  1314.     virtual void __fastcall SetSelLength(int Value);
  1315.     virtual void __fastcall SetSelStart(int Value);
  1316.     __property bool HideSelection = {read=FHideSelection, write=SetHideSelection, default=1};
  1317.     __property bool HideScrollBars = {read=FHideScrollBars, write=SetHideScrollBars, default=1};
  1318.     __property Classes::TStrings* Lines = {read=FRichEditStrings, write=SetRichEditStrings};
  1319.     __property TRichEditSaveClipboard OnSaveClipboard = {read=FOnSaveClipboard, write=FOnSaveClipboard}
  1320.         ;
  1321.     __property Classes::TNotifyEvent OnSelectionChange = {read=FOnSelChange, write=FOnSelChange};
  1322.     __property TRichEditProtectChange OnProtectChange = {read=FOnProtectChange, write=FOnProtectChange}
  1323.         ;
  1324.     __property TRichEditResizeEvent OnResizeRequest = {read=FOnResizeRequest, write=FOnResizeRequest};
  1325.     __property bool PlainText = {read=GetPlainText, write=SetPlainText, default=0};
  1326.     
  1327. public:
  1328.     __fastcall virtual TCustomRichEdit(Classes::TComponent* AOwner);
  1329.     __fastcall virtual ~TCustomRichEdit(void);
  1330.     virtual void __fastcall Clear(void);
  1331.     int __fastcall FindText(const System::AnsiString SearchStr, int StartPos, int Length, TSearchTypes 
  1332.         Options);
  1333.     virtual int __fastcall GetSelTextBuf(char * Buffer, int BufSize);
  1334.     virtual void __fastcall Print(const System::AnsiString Caption);
  1335.     /*         class method */ static void __fastcall RegisterConversionFormat(System::TMetaClass* vmt, 
  1336.         const System::AnsiString AExtension, System::TMetaClass* AConversionClass);
  1337.     __property System::TMetaClass* DefaultConverter = {read=FDefaultConverter, write=FDefaultConverter}
  1338.         ;
  1339.     __property TTextAttributes* DefAttributes = {read=FDefAttributes, write=SetDefAttributes};
  1340.     __property TTextAttributes* SelAttributes = {read=FSelAttributes, write=SetSelAttributes};
  1341.     __property Windows::TRect PageRect = {read=FPageRect, write=FPageRect};
  1342.     __property TParaAttributes* Paragraph = {read=FParagraph};
  1343. public:
  1344.     /* TWinControl.CreateParented */ __fastcall TCustomRichEdit(HWND ParentWindow) : Stdctrls::TCustomMemo(
  1345.         ParentWindow) { }
  1346.     
  1347. };
  1348.  
  1349. class PASCALIMPLEMENTATION TTextAttributes : public Classes::TPersistent 
  1350. {
  1351.     typedef Classes::TPersistent inherited;
  1352.     
  1353. private:
  1354.     TCustomRichEdit* RichEdit;
  1355.     TAttributeType FType;
  1356.     void __fastcall GetAttributes(Richedit::TCharFormatA &Format);
  1357.     Graphics::TFontCharset __fastcall GetCharset(void);
  1358.     Graphics::TColor __fastcall GetColor(void);
  1359.     TConsistentAttributes __fastcall GetConsistentAttributes(void);
  1360.     int __fastcall GetHeight(void);
  1361.     System::AnsiString __fastcall GetName(void);
  1362.     Graphics::TFontPitch __fastcall GetPitch(void);
  1363.     bool __fastcall GetProtected(void);
  1364.     int __fastcall GetSize(void);
  1365.     Graphics::TFontStyles __fastcall GetStyle(void);
  1366.     void __fastcall SetAttributes(Richedit::TCharFormatA &Format);
  1367.     void __fastcall SetCharset(Graphics::TFontCharset Value);
  1368.     void __fastcall SetColor(Graphics::TColor Value);
  1369.     void __fastcall SetHeight(int Value);
  1370.     void __fastcall SetName(System::AnsiString Value);
  1371.     void __fastcall SetPitch(Graphics::TFontPitch Value);
  1372.     void __fastcall SetProtected(bool Value);
  1373.     void __fastcall SetSize(int Value);
  1374.     void __fastcall SetStyle(Graphics::TFontStyles Value);
  1375.     
  1376. protected:
  1377.     void __fastcall InitFormat(Richedit::TCharFormatA &Format);
  1378.     virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
  1379.     
  1380. public:
  1381.     __fastcall TTextAttributes(TCustomRichEdit* AOwner, TAttributeType AttributeType);
  1382.     virtual void __fastcall Assign(Classes::TPersistent* Source);
  1383.     __property Graphics::TFontCharset Charset = {read=GetCharset, write=SetCharset, nodefault};
  1384.     __property Graphics::TColor Color = {read=GetColor, write=SetColor, nodefault};
  1385.     __property TConsistentAttributes ConsistentAttributes = {read=GetConsistentAttributes, nodefault};
  1386.     __property System::AnsiString Name = {read=GetName, write=SetName};
  1387.     __property Graphics::TFontPitch Pitch = {read=GetPitch, write=SetPitch, nodefault};
  1388.     __property bool Protected = {read=GetProtected, write=SetProtected, nodefault};
  1389.     __property int Size = {read=GetSize, write=SetSize, nodefault};
  1390.     __property Graphics::TFontStyles Style = {read=GetStyle, write=SetStyle, nodefault};
  1391.     __property int Height = {read=GetHeight, write=SetHeight, nodefault};
  1392. public:
  1393.     /* TPersistent.Destroy */ __fastcall virtual ~TTextAttributes(void) { }
  1394.     
  1395. };
  1396.  
  1397. class DELPHICLASS TConversion;
  1398. class PASCALIMPLEMENTATION TConversion : public System::TObject 
  1399. {
  1400.     typedef System::TObject inherited;
  1401.     
  1402. public:
  1403.     virtual int __fastcall ConvertReadStream(Classes::TStream* Stream, char * Buffer, int BufSize);
  1404.     virtual int __fastcall ConvertWriteStream(Classes::TStream* Stream, char * Buffer, int BufSize);
  1405. public:
  1406.         
  1407.     /* TObject.Create */ __fastcall TConversion(void) : System::TObject() { }
  1408.     /* TObject.Destroy */ __fastcall virtual ~TConversion(void) { }
  1409.     
  1410. };
  1411.  
  1412. struct TConversionFormat;
  1413. typedef TConversionFormat *PConversionFormat;
  1414.  
  1415. struct TConversionFormat
  1416. {
  1417.     System::TMetaClass*ConversionClass;
  1418.     System::AnsiString Extension;
  1419.     TConversionFormat *Next;
  1420. } ;
  1421.  
  1422. struct TRichEditStreamInfo
  1423. {
  1424.     TConversion* Converter;
  1425.     Classes::TStream* Stream;
  1426. } ;
  1427.  
  1428. typedef TRichEditStreamInfo *PRichEditStreamInfo;
  1429.  
  1430. class DELPHICLASS TRichEdit;
  1431. class PASCALIMPLEMENTATION TRichEdit : public Comctrls::TCustomRichEdit 
  1432. {
  1433.     typedef Comctrls::TCustomRichEdit inherited;
  1434.     
  1435. __published:
  1436.     __property Align ;
  1437.     __property Alignment ;
  1438.     __property BorderStyle ;
  1439.     __property Color ;
  1440.     __property Ctl3D ;
  1441.     __property DragCursor ;
  1442.     __property DragMode ;
  1443.     __property Enabled ;
  1444.     __property Font ;
  1445.     __property HideSelection ;
  1446.     __property HideScrollBars ;
  1447.     __property ImeMode ;
  1448.     __property ImeName ;
  1449.     __property Lines ;
  1450.     __property MaxLength ;
  1451.     __property ParentColor ;
  1452.     __property ParentCtl3D ;
  1453.     __property ParentFont ;
  1454.     __property ParentShowHint ;
  1455.     __property PlainText ;
  1456.     __property PopupMenu ;
  1457.     __property ReadOnly ;
  1458.     __property ScrollBars ;
  1459.     __property ShowHint ;
  1460.     __property TabOrder ;
  1461.     __property TabStop ;
  1462.     __property Visible ;
  1463.     __property WantTabs ;
  1464.     __property WantReturns ;
  1465.     __property WordWrap ;
  1466.     __property OnChange ;
  1467.     __property OnDragDrop ;
  1468.     __property OnDragOver ;
  1469.     __property OnEndDrag ;
  1470.     __property OnEnter ;
  1471.     __property OnExit ;
  1472.     __property OnKeyDown ;
  1473.     __property OnKeyPress ;
  1474.     __property OnKeyUp ;
  1475.     __property OnMouseDown ;
  1476.     __property OnMouseMove ;
  1477.     __property OnMouseUp ;
  1478.     __property OnResizeRequest ;
  1479.     __property OnSelectionChange ;
  1480.     __property OnStartDrag ;
  1481.     __property OnProtectChange ;
  1482.     __property OnSaveClipboard ;
  1483. public:
  1484.     /* TCustomRichEdit.Create */ __fastcall virtual TRichEdit(Classes::TComponent* AOwner) : Comctrls::
  1485.         TCustomRichEdit(AOwner) { }
  1486.     /* TCustomRichEdit.Destroy */ __fastcall virtual ~TRichEdit(void) { }
  1487.     
  1488. public:
  1489.     /* TWinControl.CreateParented */ __fastcall TRichEdit(HWND ParentWindow) : Comctrls::TCustomRichEdit(
  1490.         ParentWindow) { }
  1491.     
  1492. };
  1493.  
  1494. enum TUDAlignButton { udLeft, udRight };
  1495.  
  1496. enum TUDOrientation { udHorizontal, udVertical };
  1497.  
  1498. enum TUDBtnType { btNext, btPrev };
  1499.  
  1500. typedef void __fastcall (__closure *TUDClickEvent)(System::TObject* Sender, TUDBtnType Button);
  1501.  
  1502. typedef void __fastcall (__closure *TUDChangingEvent)(System::TObject* Sender, bool &AllowChange);
  1503.  
  1504. class DELPHICLASS TCustomUpDown;
  1505. class PASCALIMPLEMENTATION TCustomUpDown : public Controls::TWinControl 
  1506. {
  1507.     typedef Controls::TWinControl inherited;
  1508.     
  1509. private:
  1510.     bool FArrowKeys;
  1511.     Controls::TWinControl* FAssociate;
  1512.     short FMin;
  1513.     short FMax;
  1514.     int FIncrement;
  1515.     short FPosition;
  1516.     bool FThousands;
  1517.     bool FWrap;
  1518.     TUDClickEvent FOnClick;
  1519.     TUDAlignButton FAlignButton;
  1520.     TUDOrientation FOrientation;
  1521.     TUDChangingEvent FOnChanging;
  1522.     void __fastcall UndoAutoResizing(Controls::TWinControl* Value);
  1523.     void __fastcall SetAssociate(Controls::TWinControl* Value);
  1524.     short __fastcall GetPosition(void);
  1525.     void __fastcall SetMin(short Value);
  1526.     void __fastcall SetMax(short Value);
  1527.     void __fastcall SetIncrement(int Value);
  1528.     void __fastcall SetPosition(short Value);
  1529.     void __fastcall SetAlignButton(TUDAlignButton Value);
  1530.     void __fastcall SetOrientation(TUDOrientation Value);
  1531.     void __fastcall SetArrowKeys(bool Value);
  1532.     void __fastcall SetThousands(bool Value);
  1533.     void __fastcall SetWrap(bool Value);
  1534.     MESSAGE void __fastcall CNNotify(Messages::TWMNotify &Message);
  1535.     HIDESBASE MESSAGE void __fastcall WMHScroll(Messages::TWMScroll &Message);
  1536.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  1537.     HIDESBASE MESSAGE void __fastcall WMVScroll(Messages::TWMScroll &Message);
  1538.     
  1539. protected:
  1540.     bool __fastcall CanChange(void);
  1541.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1542.     virtual void __fastcall CreateWnd(void);
  1543.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  1544.         );
  1545.     HIDESBASEDYNAMIC void __fastcall Click(TUDBtnType Button);
  1546.     __property TUDAlignButton AlignButton = {read=FAlignButton, write=SetAlignButton, default=1};
  1547.     __property bool ArrowKeys = {read=FArrowKeys, write=SetArrowKeys, default=1};
  1548.     __property Controls::TWinControl* Associate = {read=FAssociate, write=SetAssociate};
  1549.     __property short Min = {read=FMin, write=SetMin, nodefault};
  1550.     __property short Max = {read=FMax, write=SetMax, default=100};
  1551.     __property int Increment = {read=FIncrement, write=SetIncrement, default=1};
  1552.     __property TUDOrientation Orientation = {read=FOrientation, write=SetOrientation, default=1};
  1553.     __property short Position = {read=GetPosition, write=SetPosition, nodefault};
  1554.     __property bool Thousands = {read=FThousands, write=SetThousands, default=1};
  1555.     __property bool Wrap = {read=FWrap, write=SetWrap, nodefault};
  1556.     __property TUDChangingEvent OnChanging = {read=FOnChanging, write=FOnChanging};
  1557.     __property TUDClickEvent OnClick = {read=FOnClick, write=FOnClick};
  1558.     
  1559. public:
  1560.     __fastcall virtual TCustomUpDown(Classes::TComponent* AOwner);
  1561. public:
  1562.     /* TWinControl.CreateParented */ __fastcall TCustomUpDown(HWND ParentWindow) : Controls::TWinControl(
  1563.         ParentWindow) { }
  1564.     /* TWinControl.Destroy */ __fastcall virtual ~TCustomUpDown(void) { }
  1565.     
  1566. };
  1567.  
  1568. class DELPHICLASS TUpDown;
  1569. class PASCALIMPLEMENTATION TUpDown : public Comctrls::TCustomUpDown 
  1570. {
  1571.     typedef Comctrls::TCustomUpDown inherited;
  1572.     
  1573. __published:
  1574.     __property AlignButton ;
  1575.     __property Associate ;
  1576.     __property ArrowKeys ;
  1577.     __property Enabled ;
  1578.     __property Hint ;
  1579.     __property Min ;
  1580.     __property Max ;
  1581.     __property Increment ;
  1582.     __property Orientation ;
  1583.     __property ParentShowHint ;
  1584.     __property PopupMenu ;
  1585.     __property Position ;
  1586.     __property ShowHint ;
  1587.     __property TabOrder ;
  1588.     __property TabStop ;
  1589.     __property Thousands ;
  1590.     __property Visible ;
  1591.     __property Wrap ;
  1592.     __property OnChanging ;
  1593.     __property OnClick ;
  1594.     __property OnEnter ;
  1595.     __property OnExit ;
  1596.     __property OnMouseDown ;
  1597.     __property OnMouseMove ;
  1598.     __property OnMouseUp ;
  1599. public:
  1600.     /* TCustomUpDown.Create */ __fastcall virtual TUpDown(Classes::TComponent* AOwner) : Comctrls::TCustomUpDown(
  1601.         AOwner) { }
  1602.     
  1603. public:
  1604.     /* TWinControl.CreateParented */ __fastcall TUpDown(HWND ParentWindow) : Comctrls::TCustomUpDown(ParentWindow
  1605.         ) { }
  1606.     /* TWinControl.Destroy */ __fastcall virtual ~TUpDown(void) { }
  1607.     
  1608. };
  1609.  
  1610. enum THKModifier { hkShift, hkCtrl, hkAlt, hkExt };
  1611.  
  1612. typedef Set<THKModifier, hkShift, hkExt>  THKModifiers;
  1613.  
  1614. enum THKInvalidKey { hcNone, hcShift, hcCtrl, hcAlt, hcShiftCtrl, hcShiftAlt, hcCtrlAlt, hcShiftCtrlAlt 
  1615.     };
  1616.  
  1617. typedef Set<THKInvalidKey, hcNone, hcShiftCtrlAlt>  THKInvalidKeys;
  1618.  
  1619. class DELPHICLASS TCustomHotKey;
  1620. class PASCALIMPLEMENTATION TCustomHotKey : public Controls::TWinControl 
  1621. {
  1622.     typedef Controls::TWinControl inherited;
  1623.     
  1624. private:
  1625.     bool FAutoSize;
  1626.     THKModifiers FModifiers;
  1627.     THKInvalidKeys FInvalidKeys;
  1628.     Word FHotKey;
  1629.     void __fastcall AdjustHeight(void);
  1630.     void __fastcall SetAutoSize(bool Value);
  1631.     void __fastcall SetInvalidKeys(THKInvalidKeys Value);
  1632.     void __fastcall SetModifiers(THKModifiers Value);
  1633.     void __fastcall UpdateHeight(void);
  1634.     Menus::TShortCut __fastcall GetHotKey(void);
  1635.     void __fastcall SetHotKey(Menus::TShortCut Value);
  1636.     void __fastcall ShortCutToHotKey(Menus::TShortCut Value);
  1637.     Menus::TShortCut __fastcall HotKeyToShortCut(int Value);
  1638.     
  1639. protected:
  1640.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1641.     virtual void __fastcall CreateWnd(void);
  1642.     __property bool AutoSize = {read=FAutoSize, write=SetAutoSize, default=1};
  1643.     __property THKInvalidKeys InvalidKeys = {read=FInvalidKeys, write=SetInvalidKeys, nodefault};
  1644.     __property THKModifiers Modifiers = {read=FModifiers, write=SetModifiers, nodefault};
  1645.     __property Menus::TShortCut HotKey = {read=GetHotKey, write=SetHotKey, nodefault};
  1646.     __property TabStop ;
  1647.     
  1648. public:
  1649.     __fastcall virtual TCustomHotKey(Classes::TComponent* AOwner);
  1650. public:
  1651.     /* TWinControl.CreateParented */ __fastcall TCustomHotKey(HWND ParentWindow) : Controls::TWinControl(
  1652.         ParentWindow) { }
  1653.     /* TWinControl.Destroy */ __fastcall virtual ~TCustomHotKey(void) { }
  1654.     
  1655. };
  1656.  
  1657. class DELPHICLASS THotKey;
  1658. class PASCALIMPLEMENTATION THotKey : public Comctrls::TCustomHotKey 
  1659. {
  1660.     typedef Comctrls::TCustomHotKey inherited;
  1661.     
  1662. __published:
  1663.     __property AutoSize ;
  1664.     __property Enabled ;
  1665.     __property Hint ;
  1666.     __property HotKey ;
  1667.     __property InvalidKeys ;
  1668.     __property Modifiers ;
  1669.     __property ParentShowHint ;
  1670.     __property PopupMenu ;
  1671.     __property ShowHint ;
  1672.     __property TabOrder ;
  1673.     __property TabStop ;
  1674.     __property Visible ;
  1675.     __property OnEnter ;
  1676.     __property OnExit ;
  1677.     __property OnMouseDown ;
  1678.     __property OnMouseMove ;
  1679.     __property OnMouseUp ;
  1680. public:
  1681.     /* TCustomHotKey.Create */ __fastcall virtual THotKey(Classes::TComponent* AOwner) : Comctrls::TCustomHotKey(
  1682.         AOwner) { }
  1683.     
  1684. public:
  1685.     /* TWinControl.CreateParented */ __fastcall THotKey(HWND ParentWindow) : Comctrls::TCustomHotKey(ParentWindow
  1686.         ) { }
  1687.     /* TWinControl.Destroy */ __fastcall virtual ~THotKey(void) { }
  1688.     
  1689. };
  1690.  
  1691. typedef int TWidth;
  1692.  
  1693. class DELPHICLASS TListColumn;
  1694. class PASCALIMPLEMENTATION TListColumn : public Classes::TCollectionItem 
  1695. {
  1696.     typedef Classes::TCollectionItem inherited;
  1697.     
  1698. private:
  1699.     System::AnsiString FCaption;
  1700.     TAlignment FAlignment;
  1701.     TWidth FWidth;
  1702.     TWidth FPrivateWidth;
  1703.     void __fastcall DoChange(void);
  1704.     TWidth __fastcall GetWidth(void);
  1705.     void __fastcall ReadData(Classes::TReader* Reader);
  1706.     void __fastcall SetAlignment(Classes::TAlignment Value);
  1707.     void __fastcall SetCaption(const System::AnsiString Value);
  1708.     void __fastcall SetWidth(TWidth Value);
  1709.     void __fastcall WriteData(Classes::TWriter* Writer);
  1710.     
  1711. protected:
  1712.     virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
  1713.     virtual System::AnsiString __fastcall GetDisplayName(void);
  1714.     
  1715. public:
  1716.     __fastcall virtual TListColumn(Classes::TCollection* Collection);
  1717.     __fastcall virtual ~TListColumn(void);
  1718.     virtual void __fastcall Assign(Classes::TPersistent* Source);
  1719.     __property TWidth WidthType = {read=FWidth, nodefault};
  1720.     
  1721. __published:
  1722.     __property Classes::TAlignment Alignment = {read=FAlignment, write=SetAlignment, default=0};
  1723.     __property System::AnsiString Caption = {read=FCaption, write=SetCaption};
  1724.     __property TWidth Width = {read=GetWidth, write=SetWidth, default=50};
  1725. };
  1726.  
  1727. class DELPHICLASS TListColumns;
  1728. class DELPHICLASS TCustomListView;
  1729. enum TViewStyle { vsIcon, vsSmallIcon, vsList, vsReport };
  1730.  
  1731. class DELPHICLASS TListItems;
  1732. class DELPHICLASS TListItem;
  1733. class PASCALIMPLEMENTATION TListItems : public Classes::TPersistent 
  1734. {
  1735.     typedef Classes::TPersistent inherited;
  1736.     
  1737. private:
  1738.     TCustomListView* FOwner;
  1739.     int FUpdateCount;
  1740.     bool FNoRedraw;
  1741.     void __fastcall ReadData(Classes::TStream* Stream);
  1742.     void __fastcall WriteData(Classes::TStream* Stream);
  1743.     
  1744. protected:
  1745.     virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
  1746.     tagLVITEMA __fastcall CreateItem(int Index, TListItem* ListItem);
  1747.     int __fastcall GetCount(void);
  1748.     HWND __fastcall GetHandle(void);
  1749.     TListItem* __fastcall GetItem(int Index);
  1750.     void __fastcall SetItem(int Index, TListItem* Value);
  1751.     void __fastcall SetUpdateState(bool Updating);
  1752.     
  1753. public:
  1754.     __fastcall TListItems(TCustomListView* AOwner);
  1755.     __fastcall virtual ~TListItems(void);
  1756.     TListItem* __fastcall Add(void);
  1757.     virtual void __fastcall Assign(Classes::TPersistent* Source);
  1758.     void __fastcall BeginUpdate(void);
  1759.     void __fastcall Clear(void);
  1760.     void __fastcall Delete(int Index);
  1761.     void __fastcall EndUpdate(void);
  1762.     int __fastcall IndexOf(TListItem* Value);
  1763.     TListItem* __fastcall Insert(int Index);
  1764.     __property int Count = {read=GetCount, nodefault};
  1765.     __property HWND Handle = {read=GetHandle, nodefault};
  1766.     __property TListItem* Item[int Index] = {read=GetItem, write=SetItem/*, default*/};
  1767.     __property TCustomListView* Owner = {read=FOwner};
  1768. };
  1769.  
  1770. class DELPHICLASS TIconOptions;
  1771. enum TIconArrangement { iaTop, iaLeft };
  1772.  
  1773. class PASCALIMPLEMENTATION TIconOptions : public Classes::TPersistent 
  1774. {
  1775.     typedef Classes::TPersistent inherited;
  1776.     
  1777. private:
  1778.     TCustomListView* FListView;
  1779.     TIconArrangement FArrangement;
  1780.     bool FAutoArrange;
  1781.     bool FWrapText;
  1782.     void __fastcall SetArrangement(TIconArrangement Value);
  1783.     void __fastcall SetAutoArrange(bool Value);
  1784.     void __fastcall SetWrapText(bool Value);
  1785.     
  1786. public:
  1787.     __fastcall TIconOptions(TCustomListView* AOwner);
  1788.     
  1789. __published:
  1790.     __property TIconArrangement Arrangement = {read=FArrangement, write=SetArrangement, default=0};
  1791.     __property bool AutoArrange = {read=FAutoArrange, write=SetAutoArrange, default=0};
  1792.     __property bool WrapText = {read=FWrapText, write=SetWrapText, default=1};
  1793. public:
  1794.     /* TPersistent.Destroy */ __fastcall virtual ~TIconOptions(void) { }
  1795.     
  1796. };
  1797.  
  1798. enum TItemChange { ctText, ctImage, ctState };
  1799.  
  1800. typedef void __fastcall (__closure *TLVChangeEvent)(System::TObject* Sender, TListItem* Item, TItemChange 
  1801.     Change);
  1802.  
  1803. typedef void __fastcall (__closure *TLVChangingEvent)(System::TObject* Sender, TListItem* Item, TItemChange 
  1804.     Change, bool &AllowChange);
  1805.  
  1806. typedef void __fastcall (__closure *TLVColumnClickEvent)(System::TObject* Sender, TListColumn* Column
  1807.     );
  1808.  
  1809. typedef void __fastcall (__closure *TLVDeletedEvent)(System::TObject* Sender, TListItem* Item);
  1810.  
  1811. typedef void __fastcall (__closure *TLVEditingEvent)(System::TObject* Sender, TListItem* Item, bool 
  1812.     &AllowEdit);
  1813.  
  1814. typedef void __fastcall (__closure *TLVEditedEvent)(System::TObject* Sender, TListItem* Item, System::AnsiString 
  1815.     &S);
  1816.  
  1817. typedef void __fastcall (__closure *TLVCompareEvent)(System::TObject* Sender, TListItem* Item1, TListItem* 
  1818.     Item2, int Data, int &Compare);
  1819.  
  1820. enum TListArrangement { arAlignBottom, arAlignLeft, arAlignRight, arAlignTop, arDefault, arSnapToGrid 
  1821.     };
  1822.  
  1823. enum TSearchDirection { sdLeft, sdRight, sdAbove, sdBelow, sdAll };
  1824.  
  1825. enum TItemState { isNone, isCut, isDropHilited, isFocused, isSelected };
  1826.  
  1827. typedef Set<TItemState, isNone, isSelected>  TItemStates;
  1828.  
  1829. class PASCALIMPLEMENTATION TCustomListView : public Controls::TWinControl 
  1830. {
  1831.     typedef Controls::TWinControl inherited;
  1832.     
  1833. private:
  1834.     TFormBorderStyle FBorderStyle;
  1835.     TViewStyle FViewStyle;
  1836.     bool FReadOnly;
  1837.     Controls::TImageList* FLargeImages;
  1838.     Controls::TImageList* FSmallImages;
  1839.     Controls::TImageList* FStateImages;
  1840.     Controls::TImageList* FDragImage;
  1841.     bool FMultiSelect;
  1842.     TSortType FSortType;
  1843.     bool FColumnClick;
  1844.     bool FShowColumnHeaders;
  1845.     TListItems* FListItems;
  1846.     bool FClicked;
  1847.     bool FRClicked;
  1848.     TIconOptions* FIconOptions;
  1849.     bool FHideSelection;
  1850.     TListColumns* FListColumns;
  1851.     Classes::TMemoryStream* FMemStream;
  1852.     Classes::TMemoryStream* FColStream;
  1853.     Classes::TMemoryStream* FCheckStream;
  1854.     void *FEditInstance;
  1855.     void *FDefEditProc;
  1856.     HWND FEditHandle;
  1857.     void *FHeaderInstance;
  1858.     void *FDefHeaderProc;
  1859.     HWND FHeaderHandle;
  1860.     int FAllocBy;
  1861.     int FDragIndex;
  1862.     TListItem* FLastDropTarget;
  1863.     bool FCheckboxes;
  1864.     bool FGridLines;
  1865.     bool FHotTrack;
  1866.     bool FRowSelect;
  1867.     Controls::TChangeLink* FLargeChangeLink;
  1868.     Controls::TChangeLink* FSmallChangeLink;
  1869.     Controls::TChangeLink* FStateChangeLink;
  1870.     TSortType FSavedSort;
  1871.     bool FReading;
  1872.     TLVChangeEvent FOnChange;
  1873.     TLVChangingEvent FOnChanging;
  1874.     TLVColumnClickEvent FOnColumnClick;
  1875.     TLVDeletedEvent FOnDeletion;
  1876.     TLVEditingEvent FOnEditing;
  1877.     TLVEditedEvent FOnEdited;
  1878.     TLVDeletedEvent FOnInsert;
  1879.     TLVCompareEvent FOnCompare;
  1880.     HIDESBASE MESSAGE void __fastcall CMColorChanged(Messages::TMessage &Message);
  1881.     HIDESBASE MESSAGE void __fastcall CMCtl3DChanged(Messages::TMessage &Message);
  1882.     HIDESBASE MESSAGE void __fastcall CMDrag(Controls::TCMDrag &Message);
  1883.     HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  1884.     MESSAGE void __fastcall CNNotify(Messages::TWMNotify &Message);
  1885.     void __fastcall DoDragOver(Controls::TDragObject* Source, int X, int Y, bool CanDrop);
  1886.     void __fastcall EditWndProc(Messages::TMessage &Message);
  1887.     Windows::TRect __fastcall GetBoundingRect(void);
  1888.     TListColumn* __fastcall GetColumnFromIndex(int Index);
  1889.     TListItem* __fastcall GetDropTarget(void);
  1890.     TListItem* __fastcall GetFocused(void);
  1891.     TListItem* __fastcall GetItem(const tagLVITEMA &Value);
  1892.     int __fastcall GetSelCount(void);
  1893.     TListItem* __fastcall GetSelection(void);
  1894.     TListItem* __fastcall GetTopItem(void);
  1895.     tagPOINT __fastcall GetViewOrigin(void);
  1896.     int __fastcall GetVisibleRowCount(void);
  1897.     void __fastcall HeaderWndProc(Messages::TMessage &Message);
  1898.     void __fastcall ImageListChange(System::TObject* Sender);
  1899.     void __fastcall RestoreChecks(void);
  1900.     void __fastcall SaveChecks(void);
  1901.     void __fastcall SetBorderStyle(Forms::TBorderStyle Value);
  1902.     void __fastcall SetColumnClick(bool Value);
  1903.     void __fastcall SetColumnHeaders(bool Value);
  1904.     void __fastcall SetDropTarget(TListItem* Value);
  1905.     void __fastcall SetFocused(TListItem* Value);
  1906.     void __fastcall SetHideSelection(bool Value);
  1907.     void __fastcall SetIconOptions(TIconOptions* Value);
  1908.     void __fastcall SetImageList(int Value, int Flags);
  1909.     void __fastcall SetLargeImages(Controls::TImageList* Value);
  1910.     void __fastcall SetAllocBy(int Value);
  1911.     void __fastcall SetItems(TListItems* Value);
  1912.     void __fastcall SetListColumns(TListColumns* Value);
  1913.     void __fastcall SetMultiSelect(bool Value);
  1914.     void __fastcall SetReadOnly(bool Value);
  1915.     void __fastcall SetSmallImages(Controls::TImageList* Value);
  1916.     void __fastcall SetSortType(TSortType Value);
  1917.     void __fastcall SetSelection(TListItem* Value);
  1918.     void __fastcall SetStateImages(Controls::TImageList* Value);
  1919.     void __fastcall SetTextBkColor(Graphics::TColor Value);
  1920.     void __fastcall SetTextColor(Graphics::TColor Value);
  1921.     void __fastcall SetViewStyle(TViewStyle Value);
  1922.     void __fastcall SetCheckboxes(bool Value);
  1923.     void __fastcall SetGridLines(bool Value);
  1924.     void __fastcall SetHotTrack(bool Value);
  1925.     void __fastcall SetRowSelect(bool Value);
  1926.     void __fastcall ResetExStyles(void);
  1927.     bool __fastcall ValidHeaderHandle(void);
  1928.     HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Message);
  1929.     HIDESBASE MESSAGE void __fastcall WMNotify(Messages::TWMNotify &Message);
  1930.     HIDESBASE MESSAGE void __fastcall WMParentNotify(Messages::TWMParentNotify &Message);
  1931.     HIDESBASE MESSAGE void __fastcall WMRButtonDown(Messages::TWMMouse &Message);
  1932.     
  1933. protected:
  1934.     DYNAMIC bool __fastcall CanChange(TListItem* Item, int Change);
  1935.     DYNAMIC bool __fastcall CanEdit(TListItem* Item);
  1936.     DYNAMIC void __fastcall Change(TListItem* Item, int Change);
  1937.     DYNAMIC void __fastcall ColClick(TListColumn* Column);
  1938.     bool __fastcall ColumnsShowing(void);
  1939.     virtual TListItem* __fastcall CreateListItem(void);
  1940.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1941.     virtual void __fastcall CreateWnd(void);
  1942.     DYNAMIC void __fastcall Delete(TListItem* Item);
  1943.     virtual void __fastcall DestroyWnd(void);
  1944.     DYNAMIC void __fastcall DoEndDrag(System::TObject* Target, int X, int Y);
  1945.     DYNAMIC void __fastcall DoStartDrag(Controls::TDragObject* &DragObject);
  1946.     DYNAMIC void __fastcall Edit(const tagLVITEMA &Item);
  1947.     virtual Controls::TCustomImageList* __fastcall GetDragImages(void);
  1948.     int __fastcall GetItemIndex(TListItem* Value);
  1949.     DYNAMIC void __fastcall InsertItem(TListItem* Item);
  1950.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  1951.         );
  1952.     void __fastcall UpdateColumn(int Index);
  1953.     void __fastcall UpdateColumns(void);
  1954.     virtual void __fastcall WndProc(Messages::TMessage &Message);
  1955.     __property Forms::TBorderStyle BorderStyle = {read=FBorderStyle, write=SetBorderStyle, default=1};
  1956.     __property TListColumns* Columns = {read=FListColumns, write=SetListColumns};
  1957.     __property bool ColumnClick = {read=FColumnClick, write=SetColumnClick, default=1};
  1958.     __property bool ReadOnly = {read=FReadOnly, write=SetReadOnly, nodefault};
  1959.     __property bool HideSelection = {read=FHideSelection, write=SetHideSelection, default=1};
  1960.     __property TIconOptions* IconOptions = {read=FIconOptions, write=SetIconOptions};
  1961.     __property TListItems* Items = {read=FListItems, write=SetItems};
  1962.     __property int AllocBy = {read=FAllocBy, write=SetAllocBy, default=0};
  1963.     __property Controls::TImageList* LargeImages = {read=FLargeImages, write=SetLargeImages};
  1964.     __property bool MultiSelect = {read=FMultiSelect, write=SetMultiSelect, default=0};
  1965.     __property TLVChangeEvent OnChange = {read=FOnChange, write=FOnChange};
  1966.     __property TLVChangingEvent OnChanging = {read=FOnChanging, write=FOnChanging};
  1967.     __property TLVColumnClickEvent OnColumnClick = {read=FOnColumnClick, write=FOnColumnClick};
  1968.     __property TLVCompareEvent OnCompare = {read=FOnCompare, write=FOnCompare};
  1969.     __property TLVDeletedEvent OnDeletion = {read=FOnDeletion, write=FOnDeletion};
  1970.     __property TLVEditedEvent OnEdited = {read=FOnEdited, write=FOnEdited};
  1971.     __property TLVEditingEvent OnEditing = {read=FOnEditing, write=FOnEditing};
  1972.     __property TLVDeletedEvent OnInsert = {read=FOnInsert, write=FOnInsert};
  1973.     __property bool ShowColumnHeaders = {read=FShowColumnHeaders, write=SetColumnHeaders, default=1};
  1974.     __property Controls::TImageList* SmallImages = {read=FSmallImages, write=SetSmallImages};
  1975.     __property TSortType SortType = {read=FSortType, write=SetSortType, default=0};
  1976.     __property Controls::TImageList* StateImages = {read=FStateImages, write=SetStateImages};
  1977.     __property TViewStyle ViewStyle = {read=FViewStyle, write=SetViewStyle, default=0};
  1978.     
  1979. public:
  1980.     __fastcall virtual TCustomListView(Classes::TComponent* AOwner);
  1981.     __fastcall virtual ~TCustomListView(void);
  1982.     bool __fastcall AlphaSort(void);
  1983.     void __fastcall Arrange(TListArrangement Code);
  1984.     TListItem* __fastcall FindCaption(int StartIndex, System::AnsiString Value, bool Partial, bool Inclusive
  1985.         , bool Wrap);
  1986.     TListItem* __fastcall FindData(int StartIndex, void * Value, bool Inclusive, bool Wrap);
  1987.     TListItem* __fastcall GetItemAt(int X, int Y);
  1988.     TListItem* __fastcall GetNearestItem(const tagPOINT &Point, TSearchDirection Direction);
  1989.     TListItem* __fastcall GetNextItem(TListItem* StartItem, TSearchDirection Direction, TItemStates States
  1990.         );
  1991.     System::AnsiString __fastcall GetSearchString(void);
  1992.     bool __fastcall IsEditing(void);
  1993.     void __fastcall Scroll(int DX, int DY);
  1994.     __property bool Checkboxes = {read=FCheckboxes, write=SetCheckboxes, default=0};
  1995.     __property TListColumn* Column[int Index] = {read=GetColumnFromIndex};
  1996.     __property TListItem* DropTarget = {read=GetDropTarget, write=SetDropTarget};
  1997.     __property bool GridLines = {read=FGridLines, write=SetGridLines, default=0};
  1998.     __property bool HotTrack = {read=FHotTrack, write=SetHotTrack, default=0};
  1999.     __property TListItem* ItemFocused = {read=GetFocused, write=SetFocused};
  2000.     __property bool RowSelect = {read=FRowSelect, write=SetRowSelect, default=0};
  2001.     __property int SelCount = {read=GetSelCount, nodefault};
  2002.     __property TListItem* Selected = {read=GetSelection, write=SetSelection};
  2003.     bool __fastcall CustomSort(PFNLVCOMPARE SortProc, int lParam);
  2004.     int __fastcall StringWidth(System::AnsiString S);
  2005.     void __fastcall UpdateItems(int FirstIndex, int LastIndex);
  2006.     __property TListItem* TopItem = {read=GetTopItem};
  2007.     __property tagPOINT ViewOrigin = {read=GetViewOrigin};
  2008.     __property int VisibleRowCount = {read=GetVisibleRowCount, nodefault};
  2009.     __property Windows::TRect BoundingRect = {read=GetBoundingRect};
  2010. public:
  2011.     /* TWinControl.CreateParented */ __fastcall TCustomListView(HWND ParentWindow) : Controls::TWinControl(
  2012.         ParentWindow) { }
  2013.     
  2014. };
  2015.  
  2016. class PASCALIMPLEMENTATION TListColumns : public Classes::TCollection 
  2017. {
  2018.     typedef Classes::TCollection inherited;
  2019.     
  2020. private:
  2021.     TCustomListView* FOwner;
  2022.     HIDESBASE TListColumn* __fastcall GetItem(int Index);
  2023.     HIDESBASE void __fastcall SetItem(int Index, TListColumn* Value);
  2024.     
  2025. protected:
  2026.     DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
  2027.     virtual void __fastcall Update(Classes::TCollectionItem* Item);
  2028.     
  2029. public:
  2030.     __fastcall TListColumns(TCustomListView* AOwner);
  2031.     HIDESBASE TListColumn* __fastcall Add(void);
  2032.     __property TCustomListView* Owner = {read=FOwner};
  2033.     __property TListColumn* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
  2034. public:
  2035.     /* TCollection.Destroy */ __fastcall virtual ~TListColumns(void) { }
  2036.     
  2037. };
  2038.  
  2039. enum TDisplayCode { drBounds, drIcon, drLabel, drSelectBounds };
  2040.  
  2041. class PASCALIMPLEMENTATION TListItem : public Classes::TPersistent 
  2042. {
  2043.     typedef Classes::TPersistent inherited;
  2044.     
  2045. private:
  2046.     TListItems* FOwner;
  2047.     Classes::TStrings* FSubItems;
  2048.     void *FData;
  2049.     int FImageIndex;
  2050.     int FOverlayIndex;
  2051.     int FStateIndex;
  2052.     System::AnsiString FCaption;
  2053.     bool FDeleting;
  2054.     bool FProcessedDeleting;
  2055.     bool FChecked;
  2056.     bool __fastcall GetChecked(void);
  2057.     HWND __fastcall GetHandle(void);
  2058.     int __fastcall GetIndex(void);
  2059.     TCustomListView* __fastcall GetListView(void);
  2060.     int __fastcall GetLeft(void);
  2061.     bool __fastcall GetState(int Index);
  2062.     int __fastcall GetTop(void);
  2063.     bool __fastcall IsEqual(TListItem* Item);
  2064.     void __fastcall SetChecked(bool Value);
  2065.     void __fastcall SetCaption(const System::AnsiString Value);
  2066.     void __fastcall SetData(void * Value);
  2067.     void __fastcall SetImage(int Index, int Value);
  2068.     void __fastcall SetLeft(int Value);
  2069.     void __fastcall SetState(int Index, bool State);
  2070.     void __fastcall SetSubItems(Classes::TStrings* Value);
  2071.     void __fastcall SetTop(int Value);
  2072.     
  2073. protected:
  2074.     virtual void __fastcall Assign(Classes::TPersistent* Source);
  2075.     
  2076. public:
  2077.     __fastcall TListItem(TListItems* AOwner);
  2078.     __fastcall virtual ~TListItem(void);
  2079.     void __fastcall CancelEdit(void);
  2080.     void __fastcall Delete(void);
  2081.     Windows::TRect __fastcall DisplayRect(TDisplayCode Code);
  2082.     bool __fastcall EditCaption(void);
  2083.     tagPOINT __fastcall GetPosition(void);
  2084.     void __fastcall MakeVisible(bool PartialOK);
  2085.     void __fastcall Update(void);
  2086.     void __fastcall SetPosition(const tagPOINT &Value);
  2087.     __property System::AnsiString Caption = {read=FCaption, write=SetCaption};
  2088.     __property bool Checked = {read=GetChecked, write=SetChecked, nodefault};
  2089.     __property bool Cut = {read=GetState, write=SetState, index=0, nodefault};
  2090.     __property void * Data = {read=FData, write=SetData};
  2091.     __property bool DropTarget = {read=GetState, write=SetState, index=1, nodefault};
  2092.     __property bool Focused = {read=GetState, write=SetState, index=2, nodefault};
  2093.     __property HWND Handle = {read=GetHandle, nodefault};
  2094.     __property int ImageIndex = {read=FImageIndex, write=SetImage, index=0, nodefault};
  2095.     __property int Index = {read=GetIndex, nodefault};
  2096.     __property int Left = {read=GetLeft, write=SetLeft, nodefault};
  2097.     __property TCustomListView* ListView = {read=GetListView};
  2098.     __property TListItems* Owner = {read=FOwner};
  2099.     __property int OverlayIndex = {read=FOverlayIndex, write=SetImage, index=1, nodefault};
  2100.     __property bool Selected = {read=GetState, write=SetState, index=3, nodefault};
  2101.     __property int StateIndex = {read=FStateIndex, write=SetImage, index=2, nodefault};
  2102.     __property Classes::TStrings* SubItems = {read=FSubItems, write=SetSubItems};
  2103.     __property int Top = {read=GetTop, write=SetTop, nodefault};
  2104. };
  2105.  
  2106. class DELPHICLASS TListView;
  2107. class PASCALIMPLEMENTATION TListView : public Comctrls::TCustomListView 
  2108. {
  2109.     typedef Comctrls::TCustomListView inherited;
  2110.     
  2111. __published:
  2112.     __property Align ;
  2113.     __property BorderStyle ;
  2114.     __property Color ;
  2115.     __property ColumnClick ;
  2116.     __property OnClick ;
  2117.     __property OnDblClick ;
  2118.     __property Columns ;
  2119.     __property Ctl3D ;
  2120.     __property DragMode ;
  2121.     __property ReadOnly ;
  2122.     __property Enabled ;
  2123.     __property Font ;
  2124.     __property GridLines ;
  2125.     __property HideSelection ;
  2126.     __property HotTrack ;
  2127.     __property IconOptions ;
  2128.     __property Items ;
  2129.     __property Checkboxes ;
  2130.     __property AllocBy ;
  2131.     __property MultiSelect ;
  2132.     __property RowSelect ;
  2133.     __property OnChange ;
  2134.     __property OnChanging ;
  2135.     __property OnColumnClick ;
  2136.     __property OnCompare ;
  2137.     __property OnDeletion ;
  2138.     __property OnEdited ;
  2139.     __property OnEditing ;
  2140.     __property OnEnter ;
  2141.     __property OnExit ;
  2142.     __property OnInsert ;
  2143.     __property OnDragDrop ;
  2144.     __property OnDragOver ;
  2145.     __property DragCursor ;
  2146.     __property OnStartDrag ;
  2147.     __property OnEndDrag ;
  2148.     __property OnMouseDown ;
  2149.     __property OnMouseMove ;
  2150.     __property OnMouseUp ;
  2151.     __property ParentColor ;
  2152.     __property ParentFont ;
  2153.     __property ParentShowHint ;
  2154.     __property ShowHint ;
  2155.     __property PopupMenu ;
  2156.     __property ShowColumnHeaders ;
  2157.     __property SortType ;
  2158.     __property TabOrder ;
  2159.     __property TabStop ;
  2160.     __property ViewStyle ;
  2161.     __property Visible ;
  2162.     __property OnKeyDown ;
  2163.     __property OnKeyPress ;
  2164.     __property OnKeyUp ;
  2165.     __property LargeImages ;
  2166.     __property SmallImages ;
  2167.     __property StateImages ;
  2168. public:
  2169.     /* TCustomListView.Create */ __fastcall virtual TListView(Classes::TComponent* AOwner) : Comctrls::
  2170.         TCustomListView(AOwner) { }
  2171.     /* TCustomListView.Destroy */ __fastcall virtual ~TListView(void) { }
  2172.     
  2173. public:
  2174.     /* TWinControl.CreateParented */ __fastcall TListView(HWND ParentWindow) : Comctrls::TCustomListView(
  2175.         ParentWindow) { }
  2176.     
  2177. };
  2178.  
  2179. enum TCommonAVI { aviNone, aviFindFolder, aviFindFile, aviFindComputer, aviCopyFiles, aviCopyFile, aviRecycleFile, 
  2180.     aviEmptyRecycle, aviDeleteFile };
  2181.  
  2182. class DELPHICLASS TAnimate;
  2183. class PASCALIMPLEMENTATION TAnimate : public Controls::TWinControl 
  2184. {
  2185.     typedef Controls::TWinControl inherited;
  2186.     
  2187. private:
  2188.     bool FActive;
  2189.     bool FAutoSize;
  2190.     System::AnsiString FFileName;
  2191.     bool FCenter;
  2192.     TCommonAVI FCommonAVI;
  2193.     int FFrameCount;
  2194.     int FFrameHeight;
  2195.     int FFrameWidth;
  2196.     bool FOpen;
  2197.     bool FRecreateNeeded;
  2198.     int FRepetitions;
  2199.     int FResHandle;
  2200.     int FResId;
  2201.     System::AnsiString FResName;
  2202.     bool FStreamedActive;
  2203.     bool FTimers;
  2204.     bool FTransparent;
  2205.     short FStartFrame;
  2206.     short FStopFrame;
  2207.     int FStopCount;
  2208.     Classes::TNotifyEvent FOnOpen;
  2209.     Classes::TNotifyEvent FOnClose;
  2210.     Classes::TNotifyEvent FOnStart;
  2211.     Classes::TNotifyEvent FOnStop;
  2212.     void __fastcall AdjustSize(void);
  2213.     void __fastcall CheckOpen(void);
  2214.     bool __fastcall InternalClose(void);
  2215.     bool __fastcall InternalOpen(void);
  2216.     void __fastcall GetAnimateParams(void *Params);
  2217.     int __fastcall GetActualResHandle(void);
  2218.     int __fastcall GetActualResId(void);
  2219.     void __fastcall GetFrameInfo(void);
  2220.     void __fastcall SetAnimateParams(const void *Params);
  2221.     void __fastcall SetActive(bool Value);
  2222.     void __fastcall SetAutoSize(bool Value);
  2223.     void __fastcall SetFileName(System::AnsiString Value);
  2224.     void __fastcall SetCenter(bool Value);
  2225.     void __fastcall SetCommonAVI(TCommonAVI Value);
  2226.     void __fastcall SetOpen(bool Value);
  2227.     void __fastcall SetRepetitions(int Value);
  2228.     void __fastcall SetResHandle(int Value);
  2229.     void __fastcall SetResId(int Value);
  2230.     void __fastcall SetResName(System::AnsiString Value);
  2231.     void __fastcall SetTimers(bool Value);
  2232.     void __fastcall SetTransparent(bool Value);
  2233.     void __fastcall SetStartFrame(short Value);
  2234.     void __fastcall SetStopFrame(short Value);
  2235.     void __fastcall UpdateActiveState(void);
  2236.     MESSAGE void __fastcall WMNCCalcSize(Messages::TWMNCCalcSize &Message);
  2237.     HIDESBASE MESSAGE void __fastcall WMNCHitTest(Messages::TWMNCHitTest &Message);
  2238.     MESSAGE void __fastcall WMNCPaint(Messages::TMessage &Message);
  2239.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  2240.     HIDESBASE MESSAGE void __fastcall WMWindowPosChanged(Messages::TWMWindowPosMsg &Message);
  2241.     MESSAGE void __fastcall WMWindowPosChanging(Messages::TWMWindowPosMsg &Message);
  2242.     HIDESBASE MESSAGE void __fastcall CMColorChanged(Messages::TMessage &Message);
  2243.     MESSAGE void __fastcall CNCommand(Messages::TWMCommand &Message);
  2244.     
  2245. protected:
  2246.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  2247.     virtual void __fastcall CreateWnd(void);
  2248.     virtual void __fastcall DestroyWnd(void);
  2249.     virtual void __fastcall DoOpen(void);
  2250.     virtual void __fastcall DoClose(void);
  2251.     virtual void __fastcall DoStart(void);
  2252.     virtual void __fastcall DoStop(void);
  2253.     virtual void __fastcall Loaded(void);
  2254.     
  2255. public:
  2256.     __fastcall virtual TAnimate(Classes::TComponent* AOwner);
  2257.     __property int FrameCount = {read=FFrameCount, nodefault};
  2258.     __property int FrameHeight = {read=FFrameHeight, nodefault};
  2259.     __property int FrameWidth = {read=FFrameWidth, nodefault};
  2260.     __property bool Open = {read=FOpen, write=SetOpen, nodefault};
  2261.     void __fastcall Play(Word FromFrame, Word ToFrame, int Count);
  2262.     void __fastcall Reset(void);
  2263.     void __fastcall Seek(short Frame);
  2264.     void __fastcall Stop(void);
  2265.     __property int ResHandle = {read=FResHandle, write=SetResHandle, nodefault};
  2266.     __property int ResId = {read=FResId, write=SetResId, nodefault};
  2267.     __property System::AnsiString ResName = {read=FResName, write=SetResName};
  2268.     
  2269. __published:
  2270.     __property bool Active = {read=FActive, write=SetActive, nodefault};
  2271.     __property bool AutoSize = {read=FAutoSize, write=SetAutoSize, default=1};
  2272.     __property Align ;
  2273.     __property bool Center = {read=FCenter, write=SetCenter, default=1};
  2274.     __property Color ;
  2275.     __property TCommonAVI CommonAVI = {read=FCommonAVI, write=SetCommonAVI, default=0};
  2276.     __property System::AnsiString FileName = {read=FFileName, write=SetFileName};
  2277.     __property ParentColor ;
  2278.     __property ParentShowHint ;
  2279.     __property int Repetitions = {read=FRepetitions, write=SetRepetitions, default=0};
  2280.     __property ShowHint ;
  2281.     __property short StartFrame = {read=FStartFrame, write=SetStartFrame, default=1};
  2282.     __property short StopFrame = {read=FStopFrame, write=SetStopFrame, default=0};
  2283.     __property bool Timers = {read=FTimers, write=SetTimers, default=0};
  2284.     __property bool Transparent = {read=FTransparent, write=SetTransparent, default=1};
  2285.     __property Visible ;
  2286.     __property Classes::TNotifyEvent OnOpen = {read=FOnOpen, write=FOnOpen};
  2287.     __property Classes::TNotifyEvent OnClose = {read=FOnClose, write=FOnClose};
  2288.     __property Classes::TNotifyEvent OnStart = {read=FOnStart, write=FOnStart};
  2289.     __property Classes::TNotifyEvent OnStop = {read=FOnStop, write=FOnStop};
  2290. public:
  2291.     /* TWinControl.CreateParented */ __fastcall TAnimate(HWND ParentWindow) : Controls::TWinControl(ParentWindow
  2292.         ) { }
  2293.     /* TWinControl.Destroy */ __fastcall virtual ~TAnimate(void) { }
  2294.     
  2295. };
  2296.  
  2297. enum TToolButtonStyle { tbsButton, tbsCheck, tbsDropDown, tbsSeparator, tbsDivider };
  2298.  
  2299. enum TToolButtonState { tbsChecked, tbsPressed, tbsEnabled, tbsHidden, tbsIndeterminate, tbsWrap };
  2300.  
  2301. class DELPHICLASS TToolButton;
  2302. class DELPHICLASS TToolBar;
  2303. class PASCALIMPLEMENTATION TToolBar : public Toolwin::TToolWindow 
  2304. {
  2305.     typedef Toolwin::TToolWindow inherited;
  2306.     
  2307. private:
  2308.     bool FAutoSize;
  2309.     int FButtonWidth;
  2310.     int FButtonHeight;
  2311.     Classes::TList* FButtons;
  2312.     bool FShowCaptions;
  2313.     bool FList;
  2314.     bool FFlat;
  2315.     bool FWrapable;
  2316.     Controls::TImageList* FImages;
  2317.     Controls::TChangeLink* FImageChangeLink;
  2318.     Controls::TImageList* FDisabledImages;
  2319.     Controls::TChangeLink* FDisabledImageChangeLink;
  2320.     Controls::TImageList* FHotImages;
  2321.     Controls::TChangeLink* FHotImageChangeLink;
  2322.     int FIndent;
  2323.     bool FNewStyle;
  2324.     Graphics::TBitmap* FNullBitmap;
  2325.     HBITMAP FOldHandle;
  2326.     int FUpdateCount;
  2327.     int FHeightMargin;
  2328.     Classes::TNotifyEvent FOnResize;
  2329.     void __fastcall AdjustSize(void);
  2330.     int __fastcall ButtonIndex(int OldIndex, int ALeft, int ATop);
  2331.     void __fastcall LoadImages(Controls::TImageList* AImages);
  2332.     void __fastcall SetAutoSize(bool Value);
  2333.     TToolButton* __fastcall GetButton(int Index);
  2334.     int __fastcall GetButtonCount(void);
  2335.     void __fastcall GetButtonSize(int &AWidth, int &AHeight);
  2336.     int __fastcall GetRowCount(void);
  2337.     void __fastcall SetList(bool Value);
  2338.     void __fastcall SetShowCaptions(bool Value);
  2339.     void __fastcall SetFlat(bool Value);
  2340.     void __fastcall SetWrapable(bool Value);
  2341.     void __fastcall InsertButton(Controls::TControl* Control);
  2342.     void __fastcall RemoveButton(Controls::TControl* Control);
  2343.     void __fastcall UpdateButton(int Index);
  2344.     void __fastcall UpdateButtons(void);
  2345.     void __fastcall UpdateButtonState(int Index);
  2346.     void __fastcall UpdateButtonStates(void);
  2347.     void __fastcall UpdateItem(int Message, int FromIndex, int ToIndex);
  2348.     void __fastcall CreateButtons(int NewWidth, int NewHeight);
  2349.     void __fastcall SetButtonWidth(int Value);
  2350.     void __fastcall SetButtonHeight(int Value);
  2351.     void __fastcall UpdateImages(void);
  2352.     void __fastcall ImageListChange(System::TObject* Sender);
  2353.     void __fastcall SetImageList(int Value);
  2354.     void __fastcall SetImages(Controls::TImageList* Value);
  2355.     void __fastcall DisabledImageListChange(System::TObject* Sender);
  2356.     void __fastcall SetDisabledImageList(int Value);
  2357.     void __fastcall SetDisabledImages(Controls::TImageList* Value);
  2358.     void __fastcall HotImageListChange(System::TObject* Sender);
  2359.     void __fastcall SetHotImageList(int Value);
  2360.     void __fastcall SetHotImages(Controls::TImageList* Value);
  2361.     void __fastcall SetIndent(int Value);
  2362.     void __fastcall AdjustControl(Controls::TControl* Control);
  2363.     void __fastcall RecreateButtons(void);
  2364.     void __fastcall BeginUpdate(void);
  2365.     void __fastcall EndUpdate(void);
  2366.     void __fastcall ResizeButtons(void);
  2367.     int __fastcall InternalButtonCount(void);
  2368.     bool __fastcall ReorderButton(int OldIndex, int ALeft, int ATop);
  2369.     HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
  2370.     MESSAGE void __fastcall WMNotifyFormat(Messages::TMessage &Message);
  2371.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  2372.     HIDESBASE MESSAGE void __fastcall WMWindowPosChanged(Messages::TWMWindowPosMsg &Message);
  2373.     MESSAGE void __fastcall WMWindowPosChanging(Messages::TWMWindowPosMsg &Message);
  2374.     HIDESBASE MESSAGE void __fastcall CMColorChanged(Messages::TMessage &Message);
  2375.     MESSAGE void __fastcall CMControlChange(Controls::TCMControlChange &Message);
  2376.     HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
  2377.     HIDESBASE MESSAGE void __fastcall CMSysFontChanged(Messages::TMessage &Message);
  2378.     MESSAGE void __fastcall CNRequestAlign(Messages::TMessage &Message);
  2379.     
  2380. protected:
  2381.     virtual void __fastcall AlignControls(Controls::TControl* AControl, Windows::TRect &Rect);
  2382.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  2383.     virtual void __fastcall CreateWnd(void);
  2384.     DYNAMIC void __fastcall GetChildren(Classes::TGetChildProc Proc, Classes::TComponent* Root);
  2385.     virtual void __fastcall Loaded(void);
  2386.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  2387.         );
  2388.     void __fastcall RepositionButton(int Index);
  2389.     void __fastcall RepositionButtons(int Index);
  2390.     DYNAMIC void __fastcall Resize(void);
  2391.     virtual void __fastcall WndProc(Messages::TMessage &Message);
  2392.     
  2393. public:
  2394.     __fastcall virtual TToolBar(Classes::TComponent* AOwner);
  2395.     __fastcall virtual ~TToolBar(void);
  2396.     __property int ButtonCount = {read=GetButtonCount, nodefault};
  2397.     __property TToolButton* Buttons[int Index] = {read=GetButton};
  2398.     __property int RowCount = {read=GetRowCount, nodefault};
  2399.     
  2400. __published:
  2401.     __property Align ;
  2402.     __property bool AutoSize = {read=FAutoSize, write=SetAutoSize, default=0};
  2403.     __property BorderWidth ;
  2404.     __property int ButtonHeight = {read=FButtonHeight, write=SetButtonHeight, default=22};
  2405.     __property int ButtonWidth = {read=FButtonWidth, write=SetButtonWidth, default=23};
  2406.     __property Color ;
  2407.     __property Ctl3D ;
  2408.     __property Controls::TImageList* DisabledImages = {read=FDisabledImages, write=SetDisabledImages};
  2409.     __property DragCursor ;
  2410.     __property DragMode ;
  2411.     __property EdgeBorders ;
  2412.     __property EdgeInner ;
  2413.     __property EdgeOuter ;
  2414.     __property Enabled ;
  2415.     __property bool Flat = {read=FFlat, write=SetFlat, default=0};
  2416.     __property Font ;
  2417.     __property Height ;
  2418.     __property Controls::TImageList* HotImages = {read=FHotImages, write=SetHotImages};
  2419.     __property Controls::TImageList* Images = {read=FImages, write=SetImages};
  2420.     __property int Indent = {read=FIndent, write=SetIndent, default=0};
  2421.     __property bool List = {read=FList, write=SetList, default=0};
  2422.     __property ParentColor ;
  2423.     __property ParentFont ;
  2424.     __property ParentShowHint ;
  2425.     __property PopupMenu ;
  2426.     __property bool ShowCaptions = {read=FShowCaptions, write=SetShowCaptions, default=0};
  2427.     __property ShowHint ;
  2428.     __property TabOrder ;
  2429.     __property TabStop ;
  2430.     __property Visible ;
  2431.     __property bool Wrapable = {read=FWrapable, write=SetWrapable, default=1};
  2432.     __property OnClick ;
  2433.     __property OnDblClick ;
  2434.     __property OnDragDrop ;
  2435.     __property OnDragOver ;
  2436.     __property OnEndDrag ;
  2437.     __property OnEnter ;
  2438.     __property OnExit ;
  2439.     __property OnMouseDown ;
  2440.     __property OnMouseMove ;
  2441.     __property OnMouseUp ;
  2442.     __property Classes::TNotifyEvent OnResize = {read=FOnResize, write=FOnResize};
  2443.     __property OnStartDrag ;
  2444. public:
  2445.     /* TWinControl.CreateParented */ __fastcall TToolBar(HWND ParentWindow) : Toolwin::TToolWindow(ParentWindow
  2446.         ) { }
  2447.     
  2448. };
  2449.  
  2450. class PASCALIMPLEMENTATION TToolButton : public Controls::TGraphicControl 
  2451. {
  2452.     typedef Controls::TGraphicControl inherited;
  2453.     
  2454. private:
  2455.     bool FAllowAllUp;
  2456.     bool FDown;
  2457.     bool FGrouped;
  2458.     int FImageIndex;
  2459.     bool FIndeterminate;
  2460.     Menus::TPopupMenu* FDropdownMenu;
  2461.     bool FWrap;
  2462.     TToolButtonStyle FStyle;
  2463.     int FUpdateCount;
  2464.     bool __fastcall CheckMenuDropdown(void);
  2465.     Byte __fastcall GetButtonState(void);
  2466.     int __fastcall GetIndex(void);
  2467.     void __fastcall SetButtonState(Byte State);
  2468.     void __fastcall SetDown(bool Value);
  2469.     void __fastcall SetDropdownMenu(Menus::TPopupMenu* Value);
  2470.     void __fastcall SetGrouped(bool Value);
  2471.     void __fastcall SetImageIndex(int Value);
  2472.     void __fastcall SetIndeterminate(bool Value);
  2473.     void __fastcall SetStyle(TToolButtonStyle Value);
  2474.     void __fastcall SetWrap(bool Value);
  2475.     HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
  2476.     MESSAGE void __fastcall CMTextChanged(Messages::TMessage &Message);
  2477.     HIDESBASE MESSAGE void __fastcall CMVisibleChanged(Messages::TMessage &Message);
  2478.     
  2479. protected:
  2480.     TToolBar* FToolBar;
  2481.     virtual void __fastcall BeginUpdate(void);
  2482.     virtual void __fastcall EndUpdate(void);
  2483.     DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  2484.         int Y);
  2485.     DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  2486.     DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int 
  2487.         Y);
  2488.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  2489.         );
  2490.     virtual void __fastcall Paint(void);
  2491.     virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
  2492.     void __fastcall SetToolBar(TToolBar* AToolBar);
  2493.     virtual void __fastcall UpdateControl(void);
  2494.     __property int Index = {read=GetIndex, nodefault};
  2495.     
  2496. public:
  2497.     __fastcall virtual TToolButton(Classes::TComponent* AOwner);
  2498.     DYNAMIC void __fastcall Click(void);
  2499.     
  2500. __published:
  2501.     __property bool AllowAllUp = {read=FAllowAllUp, write=FAllowAllUp, default=0};
  2502.     __property Caption ;
  2503.     __property bool Down = {read=FDown, write=SetDown, default=0};
  2504.     __property DragCursor ;
  2505.     __property DragMode ;
  2506.     __property Menus::TPopupMenu* DropdownMenu = {read=FDropdownMenu, write=SetDropdownMenu};
  2507.     __property Enabled ;
  2508.     __property bool Grouped = {read=FGrouped, write=SetGrouped, default=0};
  2509.     __property int ImageIndex = {read=FImageIndex, write=SetImageIndex, nodefault};
  2510.     __property bool Indeterminate = {read=FIndeterminate, write=SetIndeterminate, default=0};
  2511.     __property ParentShowHint ;
  2512.     __property PopupMenu ;
  2513.     __property bool Wrap = {read=FWrap, write=SetWrap, default=0};
  2514.     __property ShowHint ;
  2515.     __property TToolButtonStyle Style = {read=FStyle, write=SetStyle, default=0};
  2516.     __property Visible ;
  2517.     __property OnClick ;
  2518.     __property OnDragDrop ;
  2519.     __property OnDragOver ;
  2520.     __property OnEndDrag ;
  2521.     __property OnMouseDown ;
  2522.     __property OnMouseMove ;
  2523.     __property OnMouseUp ;
  2524.     __property OnStartDrag ;
  2525. public:
  2526.     /* TGraphicControl.Destroy */ __fastcall virtual ~TToolButton(void) { }
  2527.     
  2528. };
  2529.  
  2530. class DELPHICLASS TCoolBand;
  2531. class DELPHICLASS TCoolBar;
  2532. class PASCALIMPLEMENTATION TCoolBand : public Classes::TCollectionItem 
  2533. {
  2534.     typedef Classes::TCollectionItem inherited;
  2535.     
  2536. private:
  2537.     TFormBorderStyle FBorderStyle;
  2538.     bool FBreak;
  2539.     bool FFixedSize;
  2540.     bool FVisible;
  2541.     bool FHorizontalOnly;
  2542.     int FImageIndex;
  2543.     bool FFixedBackground;
  2544.     int FMinHeight;
  2545.     int FMinWidth;
  2546.     Graphics::TColor FColor;
  2547.     Controls::TWinControl* FControl;
  2548.     bool FParentColor;
  2549.     bool FParentBitmap;
  2550.     Graphics::TBitmap* FBitmap;
  2551.     System::AnsiString FText;
  2552.     int FWidth;
  2553.     Graphics::TBitmap* FDDB;
  2554.     int FID;
  2555.     TCoolBar* __fastcall CoolBar(void);
  2556.     bool __fastcall IsColorStored(void);
  2557.     bool __fastcall IsBitmapStored(void);
  2558.     void __fastcall BitmapChanged(System::TObject* Sender);
  2559.     int __fastcall GetHeight(void);
  2560.     bool __fastcall GetVisible(void);
  2561.     void __fastcall SetBorderStyle(Forms::TBorderStyle Value);
  2562.     void __fastcall SetBreak(bool Value);
  2563.     void __fastcall SetFixedSize(bool Value);
  2564.     void __fastcall SetMinHeight(int Value);
  2565.     void __fastcall SetMinWidth(int Value);
  2566.     void __fastcall SetVisible(bool Value);
  2567.     void __fastcall SetHorizontalOnly(bool Value);
  2568.     void __fastcall SetImageIndex(int Value);
  2569.     void __fastcall SetFixedBackground(bool Value);
  2570.     void __fastcall SetColor(Graphics::TColor Value);
  2571.     void __fastcall SetControl(Controls::TWinControl* Value);
  2572.     void __fastcall SetParentColor(bool Value);
  2573.     void __fastcall SetParentBitmap(bool Value);
  2574.     void __fastcall SetBitmap(Graphics::TBitmap* Value);
  2575.     void __fastcall SetText(const System::AnsiString Value);
  2576.     void __fastcall SetWidth(int Value);
  2577.     
  2578. protected:
  2579.     virtual System::AnsiString __fastcall GetDisplayName(void);
  2580.     DYNAMIC void __fastcall ParentColorChanged(void);
  2581.     DYNAMIC void __fastcall ParentBitmapChanged(void);
  2582.     
  2583. public:
  2584.     __fastcall virtual TCoolBand(Classes::TCollection* Collection);
  2585.     __fastcall virtual ~TCoolBand(void);
  2586.     virtual void __fastcall Assign(Classes::TPersistent* Source);
  2587.     __property Forms::TBorderStyle BorderStyle = {read=FBorderStyle, write=SetBorderStyle, default=1};
  2588.     __property int Height = {read=GetHeight, nodefault};
  2589.     
  2590. __published:
  2591.     __property Graphics::TBitmap* Bitmap = {read=FBitmap, write=SetBitmap, stored=IsBitmapStored};
  2592.     __property bool Break = {read=FBreak, write=SetBreak, default=1};
  2593.     __property Graphics::TColor Color = {read=FColor, write=SetColor, stored=IsColorStored, default=-2147483633
  2594.         };
  2595.     __property Controls::TWinControl* Control = {read=FControl, write=SetControl};
  2596.     __property bool FixedBackground = {read=FFixedBackground, write=SetFixedBackground, default=1};
  2597.     __property bool FixedSize = {read=FFixedSize, write=SetFixedSize, default=0};
  2598.     __property bool HorizontalOnly = {read=FHorizontalOnly, write=SetHorizontalOnly, default=0};
  2599.     __property int ImageIndex = {read=FImageIndex, write=SetImageIndex, nodefault};
  2600.     __property int MinHeight = {read=FMinHeight, write=SetMinHeight, default=25};
  2601.     __property int MinWidth = {read=FMinWidth, write=SetMinWidth, default=0};
  2602.     __property bool ParentColor = {read=FParentColor, write=SetParentColor, default=1};
  2603.     __property bool ParentBitmap = {read=FParentBitmap, write=SetParentBitmap, default=1};
  2604.     __property System::AnsiString Text = {read=FText, write=SetText};
  2605.     __property bool Visible = {read=GetVisible, write=SetVisible, default=1};
  2606.     __property int Width = {read=FWidth, write=SetWidth, nodefault};
  2607. };
  2608.  
  2609. class DELPHICLASS TCoolBands;
  2610. class PASCALIMPLEMENTATION TCoolBands : public Classes::TCollection 
  2611. {
  2612.     typedef Classes::TCollection inherited;
  2613.     
  2614. private:
  2615.     TCoolBar* FCoolBar;
  2616.     int FVisibleCount;
  2617.     HIDESBASE TCoolBand* __fastcall GetItem(int Index);
  2618.     HIDESBASE void __fastcall SetItem(int Index, TCoolBand* Value);
  2619.     
  2620. protected:
  2621.     DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
  2622.     virtual void __fastcall Update(Classes::TCollectionItem* Item);
  2623.     TCoolBand* __fastcall FindBand(Controls::TControl* AControl);
  2624.     bool __fastcall HaveGraphic(void);
  2625.     
  2626. public:
  2627.     __fastcall TCoolBands(TCoolBar* CoolBar);
  2628.     HIDESBASE TCoolBand* __fastcall Add(void);
  2629.     __property TCoolBar* CoolBar = {read=FCoolBar};
  2630.     __property TCoolBand* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
  2631. public:
  2632.     /* TCollection.Destroy */ __fastcall virtual ~TCoolBands(void) { }
  2633.     
  2634. };
  2635.  
  2636. class PASCALIMPLEMENTATION TCoolBar : public Toolwin::TToolWindow 
  2637. {
  2638.     typedef Toolwin::TToolWindow inherited;
  2639.     
  2640. private:
  2641.     bool FAutoSize;
  2642.     TCoolBands* FBands;
  2643.     TFormBorderStyle FBandBorderStyle;
  2644.     Graphics::TBitmap* FBitmap;
  2645.     Graphics::TFont* FCaptionFont;
  2646.     int FCaptionFontHeight;
  2647.     Graphics::TBitmap* FDDB;
  2648.     bool FFixedSize;
  2649.     bool FFixedOrder;
  2650.     Controls::TImageList* FImages;
  2651.     Controls::TChangeLink* FImageChangeLink;
  2652.     bool FShowText;
  2653.     bool FVertical;
  2654.     Windows::TSmallPoint FTrackDrag;
  2655.     int FUpdateCount;
  2656.     Classes::TNotifyEvent FOnChange;
  2657.     Classes::TNotifyEvent FOnResize;
  2658.     void __fastcall AdjustSize(void);
  2659.     void __fastcall BeginUpdate(void);
  2660.     void __fastcall BitmapChanged(System::TObject* Sender);
  2661.     void __fastcall DisableBands(void);
  2662.     void __fastcall EndUpdate(void);
  2663.     bool __fastcall IsAutoSized(void);
  2664.     bool __fastcall IsBackgroundDirty(void);
  2665.     Controls::TAlign __fastcall GetAlign(void);
  2666.     HFONT __fastcall GetCaptionFont(void);
  2667.     int __fastcall GetCaptionFontHeight(void);
  2668.     int __fastcall GetCaptionSize(TCoolBand* Band);
  2669.     int __fastcall GetRowHeight(int Index);
  2670.     HIDESBASE void __fastcall SetAlign(Controls::TAlign Value);
  2671.     void __fastcall SetAutoSize(bool Value);
  2672.     void __fastcall SetBands(TCoolBands* Value);
  2673.     void __fastcall SetBandBorderStyle(Forms::TBorderStyle Value);
  2674.     void __fastcall SetBitmap(Graphics::TBitmap* Value);
  2675.     void __fastcall SetFixedSize(bool Value);
  2676.     void __fastcall SetFixedOrder(bool Value);
  2677.     void __fastcall SetImageList(int Value);
  2678.     void __fastcall SetImages(Controls::TImageList* Value);
  2679.     void __fastcall SetShowText(bool Value);
  2680.     void __fastcall SetVertical(bool Value);
  2681.     void __fastcall ImageListChange(System::TObject* Sender);
  2682.     int __fastcall PtInGripRect(const tagPOINT &Pos);
  2683.     bool __fastcall ReadBands(void);
  2684.     bool __fastcall UpdateItem(int Message, int FromIndex, int ToIndex);
  2685.     void __fastcall UpdateBand(int Index);
  2686.     void __fastcall UpdateBands(void);
  2687.     MESSAGE void __fastcall WMCaptureChanged(Messages::TMessage &Message);
  2688.     HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
  2689.     HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Message);
  2690.     HIDESBASE MESSAGE void __fastcall WMLButtonUp(Messages::TWMMouse &Message);
  2691.     MESSAGE void __fastcall WMNotifyFormat(Messages::TMessage &Message);
  2692.     HIDESBASE MESSAGE void __fastcall WMSetCursor(Messages::TWMSetCursor &Message);
  2693.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  2694.     HIDESBASE MESSAGE void __fastcall WMWindowPosChanged(Messages::TWMWindowPosMsg &Message);
  2695.     HIDESBASE MESSAGE void __fastcall CMColorChanged(Messages::TMessage &Message);
  2696.     MESSAGE void __fastcall CMControlChange(Controls::TCMControlChange &Message);
  2697.     HIDESBASE MESSAGE void __fastcall CMDesignHitTest(Messages::TWMMouse &Message);
  2698.     MESSAGE void __fastcall CNBandChange(Messages::TMessage &Message);
  2699.     MESSAGE void __fastcall CNNotify(Messages::TWMNotify &Message);
  2700.     HIDESBASE MESSAGE void __fastcall CMSysColorChange(Messages::TMessage &Message);
  2701.     HIDESBASE MESSAGE void __fastcall CMSysFontChanged(Messages::TMessage &Message);
  2702.     HIDESBASE MESSAGE void __fastcall CMWinIniChange(Messages::TWMWinIniChange &Message);
  2703.     
  2704. protected:
  2705.     virtual void __fastcall AlignControls(Controls::TControl* AControl, Windows::TRect &Rect);
  2706.     DYNAMIC void __fastcall Change(void);
  2707.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  2708.     virtual void __fastcall CreateWnd(void);
  2709.     DYNAMIC HPALETTE __fastcall GetPalette(void);
  2710.     virtual void __fastcall Loaded(void);
  2711.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  2712.         );
  2713.     DYNAMIC void __fastcall Resize(void);
  2714.     virtual void __fastcall WndProc(Messages::TMessage &Message);
  2715.     
  2716. public:
  2717.     __fastcall virtual TCoolBar(Classes::TComponent* AOwner);
  2718.     __fastcall virtual ~TCoolBar(void);
  2719.     
  2720. __published:
  2721.     __property Align  = {read=GetAlign, write=SetAlign, default=1};
  2722.     __property bool AutoSize = {read=FAutoSize, write=SetAutoSize, default=0};
  2723.     __property Forms::TBorderStyle BandBorderStyle = {read=FBandBorderStyle, write=SetBandBorderStyle, 
  2724.         default=1};
  2725.     __property TCoolBands* Bands = {read=FBands, write=SetBands};
  2726.     __property BorderWidth ;
  2727.     __property Color ;
  2728.     __property Ctl3D ;
  2729.     __property DragCursor ;
  2730.     __property DragMode ;
  2731.     __property EdgeBorders ;
  2732.     __property EdgeInner ;
  2733.     __property EdgeOuter ;
  2734.     __property Enabled ;
  2735.     __property bool FixedSize = {read=FFixedSize, write=SetFixedSize, default=0};
  2736.     __property bool FixedOrder = {read=FFixedOrder, write=SetFixedOrder, default=0};
  2737.     __property Font ;
  2738.     __property Controls::TImageList* Images = {read=FImages, write=SetImages};
  2739.     __property ParentColor ;
  2740.     __property ParentFont ;
  2741.     __property ParentShowHint ;
  2742.     __property Graphics::TBitmap* Bitmap = {read=FBitmap, write=SetBitmap};
  2743.     __property PopupMenu ;
  2744.     __property ShowHint ;
  2745.     __property bool ShowText = {read=FShowText, write=SetShowText, default=1};
  2746.     __property bool Vertical = {read=FVertical, write=SetVertical, default=0};
  2747.     __property Visible ;
  2748.     __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  2749.     __property OnClick ;
  2750.     __property OnDblClick ;
  2751.     __property OnDragDrop ;
  2752.     __property OnDragOver ;
  2753.     __property OnEndDrag ;
  2754.     __property OnMouseDown ;
  2755.     __property OnMouseMove ;
  2756.     __property OnMouseUp ;
  2757.     __property Classes::TNotifyEvent OnResize = {read=FOnResize, write=FOnResize};
  2758.     __property OnStartDrag ;
  2759. public:
  2760.     /* TWinControl.CreateParented */ __fastcall TCoolBar(HWND ParentWindow) : Toolwin::TToolWindow(ParentWindow
  2761.         ) { }
  2762.     
  2763. };
  2764.  
  2765. class DELPHICLASS EDateTimeError;
  2766. class PASCALIMPLEMENTATION EDateTimeError : public Sysutils::Exception 
  2767. {
  2768.     typedef Sysutils::Exception inherited;
  2769.     
  2770. public:
  2771.     /* Exception.Create */ __fastcall EDateTimeError(const System::AnsiString Msg) : Sysutils::Exception(
  2772.         Msg) { }
  2773.     /* Exception.CreateFmt */ __fastcall EDateTimeError(const System::AnsiString Msg, const System::TVarRec 
  2774.         * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
  2775.     /* Exception.CreateRes */ __fastcall EDateTimeError(int Ident, Extended Dummy) : Sysutils::Exception(
  2776.         Ident, Dummy) { }
  2777.     /* Exception.CreateResFmt */ __fastcall EDateTimeError(int Ident, const System::TVarRec * Args, const 
  2778.         int Args_Size) : Sysutils::Exception(Ident, Args, Args_Size) { }
  2779.     /* Exception.CreateHelp */ __fastcall EDateTimeError(const System::AnsiString Msg, int AHelpContext
  2780.         ) : Sysutils::Exception(Msg, AHelpContext) { }
  2781.     /* Exception.CreateFmtHelp */ __fastcall EDateTimeError(const System::AnsiString Msg, const System::TVarRec 
  2782.         * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext
  2783.         ) { }
  2784.     /* Exception.CreateResHelp */ __fastcall EDateTimeError(int Ident, int AHelpContext) : Sysutils::Exception(
  2785.         Ident, AHelpContext) { }
  2786.     /* Exception.CreateResFmtHelp */ __fastcall EDateTimeError(int Ident, const System::TVarRec * Args, 
  2787.         const int Args_Size, int AHelpContext) : Sysutils::Exception(Ident, Args, Args_Size, AHelpContext)
  2788.          { }
  2789.     
  2790. public:
  2791.     /* TObject.Destroy */ __fastcall virtual ~EDateTimeError(void) { }
  2792.     
  2793. };
  2794.  
  2795. enum TDateTimeKind { dtkDate, dtkTime };
  2796.  
  2797. enum TDTDateMode { dmComboBox, dmUpDown };
  2798.  
  2799. enum TDTDateFormat { dfShort, dfLong };
  2800.  
  2801. enum TDTCalAlignment { dtaLeft, dtaRight };
  2802.  
  2803. typedef void __fastcall (__closure *TDTParseInputEvent)(System::TObject* Sender, const System::AnsiString 
  2804.     UserString, System::TDateTime &DateAndTime, bool &AllowChange);
  2805.  
  2806. class DELPHICLASS TDateTimeColors;
  2807. class DELPHICLASS TDateTimePicker;
  2808. class PASCALIMPLEMENTATION TDateTimePicker : public Controls::TWinControl 
  2809. {
  2810.     typedef Controls::TWinControl inherited;
  2811.     
  2812. private:
  2813.     TDTCalAlignment FCalAlignment;
  2814.     TDateTimeColors* FCalColors;
  2815.     bool FChecked;
  2816.     System::TDateTime FDateTime;
  2817.     TDTDateFormat FDateFormat;
  2818.     TDTDateMode FDateMode;
  2819.     bool FDroppedDown;
  2820.     TDateTimeKind FKind;
  2821.     _SYSTEMTIME FLastChange;
  2822.     bool FParseInput;
  2823.     TDate FMaxDate;
  2824.     TDate FMinDate;
  2825.     bool FShowCheckbox;
  2826.     TDTParseInputEvent FOnUserInput;
  2827.     Classes::TNotifyEvent FOnCloseUp;
  2828.     Classes::TNotifyEvent FOnChange;
  2829.     Classes::TNotifyEvent FOnDropDown;
  2830.     void __fastcall AdjustHeight(void);
  2831.     TDate __fastcall GetDate(void);
  2832.     TTime __fastcall GetTime(void);
  2833.     void __fastcall SetCalAlignment(TDTCalAlignment Value);
  2834.     void __fastcall SetCalColors(TDateTimeColors* Value);
  2835.     void __fastcall SetChecked(bool Value);
  2836.     void __fastcall SetDate(TDate Value);
  2837.     void __fastcall SetDateMode(TDTDateMode Value);
  2838.     void __fastcall SetDateFormat(TDTDateFormat Value);
  2839.     void __fastcall SetDateTime(System::TDateTime Value);
  2840.     void __fastcall SetKind(TDateTimeKind Value);
  2841.     void __fastcall SetParseInput(bool Value);
  2842.     void __fastcall SetMaxDate(TDate Value);
  2843.     void __fastcall SetMinDate(TDate Value);
  2844.     void __fastcall SetRange(System::TDateTime MinVal, System::TDateTime MaxVal);
  2845.     void __fastcall SetShowCheckbox(bool Value);
  2846.     void __fastcall SetTime(TTime Value);
  2847.     HIDESBASE MESSAGE void __fastcall CMColorChanged(Messages::TMessage &Message);
  2848.     HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  2849.     MESSAGE void __fastcall CNNotify(Messages::TWMNotify &Message);
  2850.     
  2851. protected:
  2852.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  2853.     virtual void __fastcall CreateWnd(void);
  2854.     DYNAMIC void __fastcall Change(void);
  2855.     
  2856. public:
  2857.     __fastcall virtual TDateTimePicker(Classes::TComponent* AOwner);
  2858.     __fastcall virtual ~TDateTimePicker(void);
  2859.     __property System::TDateTime DateTime = {read=FDateTime, write=SetDateTime};
  2860.     
  2861. __published:
  2862.     __property TDTCalAlignment CalAlignment = {read=FCalAlignment, write=SetCalAlignment, nodefault};
  2863.     __property TDateTimeColors* CalColors = {read=FCalColors, write=SetCalColors};
  2864.     __property TDate Date = {read=GetDate, write=SetDate};
  2865.     __property TTime Time = {read=GetTime, write=SetTime};
  2866.     __property bool ShowCheckbox = {read=FShowCheckbox, write=SetShowCheckbox, default=0};
  2867.     __property bool Checked = {read=FChecked, write=SetChecked, default=1};
  2868.     __property Color  = {stored=true, default=-2147483643};
  2869.     __property TDTDateFormat DateFormat = {read=FDateFormat, write=SetDateFormat, nodefault};
  2870.     __property TDTDateMode DateMode = {read=FDateMode, write=SetDateMode, nodefault};
  2871.     __property DragCursor ;
  2872.     __property DragMode ;
  2873.     __property Enabled ;
  2874.     __property Font ;
  2875.     __property ImeMode ;
  2876.     __property ImeName ;
  2877.     __property TDateTimeKind Kind = {read=FKind, write=SetKind, nodefault};
  2878.     __property TDate MaxDate = {read=FMaxDate, write=SetMaxDate};
  2879.     __property TDate MinDate = {read=FMinDate, write=SetMinDate};
  2880.     __property bool ParseInput = {read=FParseInput, write=SetParseInput, nodefault};
  2881.     __property ParentColor ;
  2882.     __property ParentFont ;
  2883.     __property ParentShowHint ;
  2884.     __property PopupMenu ;
  2885.     __property ShowHint ;
  2886.     __property TabOrder ;
  2887.     __property TabStop ;
  2888.     __property Visible ;
  2889.     __property OnClick ;
  2890.     __property Classes::TNotifyEvent OnCloseUp = {read=FOnCloseUp, write=FOnCloseUp};
  2891.     __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  2892.     __property Classes::TNotifyEvent OnDropDown = {read=FOnDropDown, write=FOnDropDown};
  2893.     __property OnDblClick ;
  2894.     __property OnDragDrop ;
  2895.     __property OnDragOver ;
  2896.     __property OnEndDrag ;
  2897.     __property OnEnter ;
  2898.     __property OnExit ;
  2899.     __property OnKeyDown ;
  2900.     __property OnKeyPress ;
  2901.     __property OnKeyUp ;
  2902.     __property OnStartDrag ;
  2903.     __property TDTParseInputEvent OnUserInput = {read=FOnUserInput, write=FOnUserInput};
  2904. public:
  2905.     /* TWinControl.CreateParented */ __fastcall TDateTimePicker(HWND ParentWindow) : Controls::TWinControl(
  2906.         ParentWindow) { }
  2907.     
  2908. };
  2909.  
  2910. class PASCALIMPLEMENTATION TDateTimeColors : public Classes::TPersistent 
  2911. {
  2912.     typedef Classes::TPersistent inherited;
  2913.     
  2914. private:
  2915.     TDateTimePicker* Owner;
  2916.     Graphics::TColor FBackColor;
  2917.     Graphics::TColor FTextColor;
  2918.     Graphics::TColor FTitleBackColor;
  2919.     Graphics::TColor FTitleTextColor;
  2920.     Graphics::TColor FMonthBackColor;
  2921.     Graphics::TColor FTrailingTextColor;
  2922.     void __fastcall SetColor(int Index, Graphics::TColor Value);
  2923.     void __fastcall SetAllColors(void);
  2924.     
  2925. public:
  2926.     __fastcall TDateTimeColors(TDateTimePicker* AOwner);
  2927.     virtual void __fastcall Assign(Classes::TPersistent* Source);
  2928.     
  2929. __published:
  2930.     __property Graphics::TColor BackColor = {read=FBackColor, write=SetColor, index=0, default=-2147483643
  2931.         };
  2932.     __property Graphics::TColor TextColor = {read=FTextColor, write=SetColor, index=1, default=-2147483640
  2933.         };
  2934.     __property Graphics::TColor TitleBackColor = {read=FTitleBackColor, write=SetColor, index=2, default=-2147483646
  2935.         };
  2936.     __property Graphics::TColor TitleTextColor = {read=FTitleTextColor, write=SetColor, index=3, default=16777215
  2937.         };
  2938.     __property Graphics::TColor MonthBackColor = {read=FMonthBackColor, write=SetColor, index=4, default=16777215
  2939.         };
  2940.     __property Graphics::TColor TrailingTextColor = {read=FTrailingTextColor, write=SetColor, index=5, 
  2941.         default=-2147483629};
  2942. public:
  2943.     /* TPersistent.Destroy */ __fastcall virtual ~TDateTimeColors(void) { }
  2944.     
  2945. };
  2946.  
  2947. //-- var, const, procedure ---------------------------------------------------
  2948. #define ColumnHeaderWidth (Shortint)(-2)
  2949. #define ColumnTextWidth (Shortint)(-1)
  2950. #define CN_REQUESTALIGN (Word)(5120)
  2951. #define CN_BANDCHANGE (Word)(5120)
  2952. #define ComCtlVersionIE3 (int)(262214)
  2953. #define ComCtlVersionIE4 (int)(262215)
  2954. extern PACKAGE bool __fastcall InitCommonControl(int CC);
  2955. extern PACKAGE void __fastcall CheckCommonControl(int CC);
  2956. extern PACKAGE int __fastcall GetComCtlVersion(void);
  2957. extern PACKAGE void __fastcall CheckToolMenuDropdown(TToolButton* ToolButton);
  2958.  
  2959. }    /* namespace Comctrls */
  2960. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  2961. using namespace Comctrls;
  2962. #endif
  2963. //-- end unit ----------------------------------------------------------------
  2964. #endif    // ComCtrls
  2965.